LCOV - code coverage report
Current view: top level - src/backend/parser - gram.c (source / functions) Hit Total Coverage
Test: PostgreSQL 18beta1 Lines: 4273 4708 90.8 %
Date: 2025-06-07 18:18:20 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* A Bison parser, made by GNU Bison 3.8.2.  */
       2             : 
       3             : /* Bison implementation for Yacc-like parsers in C
       4             : 
       5             :    Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
       6             :    Inc.
       7             : 
       8             :    This program is free software: you can redistribute it and/or modify
       9             :    it under the terms of the GNU General Public License as published by
      10             :    the Free Software Foundation, either version 3 of the License, or
      11             :    (at your option) any later version.
      12             : 
      13             :    This program is distributed in the hope that it will be useful,
      14             :    but WITHOUT ANY WARRANTY; without even the implied warranty of
      15             :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      16             :    GNU General Public License for more details.
      17             : 
      18             :    You should have received a copy of the GNU General Public License
      19             :    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
      20             : 
      21             : /* As a special exception, you may create a larger work that contains
      22             :    part or all of the Bison parser skeleton and distribute that work
      23             :    under terms of your choice, so long as that work isn't itself a
      24             :    parser generator using the skeleton or a modified version thereof
      25             :    as a parser skeleton.  Alternatively, if you modify or redistribute
      26             :    the parser skeleton itself, you may (at your option) remove this
      27             :    special exception, which will cause the skeleton and the resulting
      28             :    Bison output files to be licensed under the GNU General Public
      29             :    License without this special exception.
      30             : 
      31             :    This special exception was added by the Free Software Foundation in
      32             :    version 2.2 of Bison.  */
      33             : 
      34             : /* C LALR(1) parser skeleton written by Richard Stallman, by
      35             :    simplifying the original so-called "semantic" parser.  */
      36             : 
      37             : /* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
      38             :    especially those whose name start with YY_ or yy_.  They are
      39             :    private implementation details that can be changed or removed.  */
      40             : 
      41             : /* All symbols defined below should begin with yy or YY, to avoid
      42             :    infringing on user name space.  This should be done even for local
      43             :    variables, as they might otherwise be expanded by user macros.
      44             :    There are some unavoidable exceptions within include files to
      45             :    define necessary library symbols; they are noted "INFRINGES ON
      46             :    USER NAME SPACE" below.  */
      47             : 
      48             : /* Identify Bison output, and Bison version.  */
      49             : #define YYBISON 30802
      50             : 
      51             : /* Bison version string.  */
      52             : #define YYBISON_VERSION "3.8.2"
      53             : 
      54             : /* Skeleton name.  */
      55             : #define YYSKELETON_NAME "yacc.c"
      56             : 
      57             : /* Pure parsers.  */
      58             : #define YYPURE 1
      59             : 
      60             : /* Push parsers.  */
      61             : #define YYPUSH 0
      62             : 
      63             : /* Pull parsers.  */
      64             : #define YYPULL 1
      65             : 
      66             : 
      67             : /* Substitute the variable and function names.  */
      68             : #define yyparse         base_yyparse
      69             : #define yylex           base_yylex
      70             : #define yyerror         base_yyerror
      71             : #define yydebug         base_yydebug
      72             : #define yynerrs         base_yynerrs
      73             : 
      74             : /* First part of user prologue.  */
      75             : #line 1 "gram.y"
      76             : 
      77             : 
      78             : /*#define YYDEBUG 1*/
      79             : /*-------------------------------------------------------------------------
      80             :  *
      81             :  * gram.y
      82             :  *    POSTGRESQL BISON rules/actions
      83             :  *
      84             :  * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
      85             :  * Portions Copyright (c) 1994, Regents of the University of California
      86             :  *
      87             :  *
      88             :  * IDENTIFICATION
      89             :  *    src/backend/parser/gram.y
      90             :  *
      91             :  * HISTORY
      92             :  *    AUTHOR            DATE            MAJOR EVENT
      93             :  *    Andrew Yu         Sept, 1994      POSTQUEL to SQL conversion
      94             :  *    Andrew Yu         Oct, 1994       lispy code conversion
      95             :  *
      96             :  * NOTES
      97             :  *    CAPITALS are used to represent terminal symbols.
      98             :  *    non-capitals are used to represent non-terminals.
      99             :  *
     100             :  *    In general, nothing in this file should initiate database accesses
     101             :  *    nor depend on changeable state (such as SET variables).  If you do
     102             :  *    database accesses, your code will fail when we have aborted the
     103             :  *    current transaction and are just parsing commands to find the next
     104             :  *    ROLLBACK or COMMIT.  If you make use of SET variables, then you
     105             :  *    will do the wrong thing in multi-query strings like this:
     106             :  *          SET constraint_exclusion TO off; SELECT * FROM foo;
     107             :  *    because the entire string is parsed by gram.y before the SET gets
     108             :  *    executed.  Anything that depends on the database or changeable state
     109             :  *    should be handled during parse analysis so that it happens at the
     110             :  *    right time not the wrong time.
     111             :  *
     112             :  * WARNINGS
     113             :  *    If you use a list, make sure the datum is a node so that the printing
     114             :  *    routines work.
     115             :  *
     116             :  *    Sometimes we assign constants to makeStrings. Make sure we don't free
     117             :  *    those.
     118             :  *
     119             :  *-------------------------------------------------------------------------
     120             :  */
     121             : #include "postgres.h"
     122             : 
     123             : #include <ctype.h>
     124             : #include <limits.h>
     125             : 
     126             : #include "catalog/index.h"
     127             : #include "catalog/namespace.h"
     128             : #include "catalog/pg_am.h"
     129             : #include "catalog/pg_trigger.h"
     130             : #include "commands/defrem.h"
     131             : #include "commands/trigger.h"
     132             : #include "gramparse.h"
     133             : #include "nodes/makefuncs.h"
     134             : #include "nodes/nodeFuncs.h"
     135             : #include "parser/parser.h"
     136             : #include "utils/datetime.h"
     137             : #include "utils/xml.h"
     138             : 
     139             : 
     140             : /*
     141             :  * Location tracking support.  Unlike bison's default, we only want
     142             :  * to track the start position not the end position of each nonterminal.
     143             :  * Nonterminals that reduce to empty receive position "-1".  Since a
     144             :  * production's leading RHS nonterminal(s) may have reduced to empty,
     145             :  * we have to scan to find the first one that's not -1.
     146             :  */
     147             : #define YYLLOC_DEFAULT(Current, Rhs, N) \
     148             :     do { \
     149             :         (Current) = (-1); \
     150             :         for (int _i = 1; _i <= (N); _i++) \
     151             :         { \
     152             :             if ((Rhs)[_i] >= 0) \
     153             :             { \
     154             :                 (Current) = (Rhs)[_i]; \
     155             :                 break; \
     156             :             } \
     157             :         } \
     158             :     } while (0)
     159             : 
     160             : /*
     161             :  * Bison doesn't allocate anything that needs to live across parser calls,
     162             :  * so we can easily have it use palloc instead of malloc.  This prevents
     163             :  * memory leaks if we error out during parsing.
     164             :  */
     165             : #define YYMALLOC palloc
     166             : #define YYFREE   pfree
     167             : 
     168             : /* Private struct for the result of privilege_target production */
     169             : typedef struct PrivTarget
     170             : {
     171             :     GrantTargetType targtype;
     172             :     ObjectType  objtype;
     173             :     List       *objs;
     174             : } PrivTarget;
     175             : 
     176             : /* Private struct for the result of import_qualification production */
     177             : typedef struct ImportQual
     178             : {
     179             :     ImportForeignSchemaType type;
     180             :     List       *table_names;
     181             : } ImportQual;
     182             : 
     183             : /* Private struct for the result of select_limit & limit_clause productions */
     184             : typedef struct SelectLimit
     185             : {
     186             :     Node       *limitOffset;
     187             :     Node       *limitCount;
     188             :     LimitOption limitOption;    /* indicates presence of WITH TIES */
     189             :     ParseLoc    offsetLoc;      /* location of OFFSET token, if present */
     190             :     ParseLoc    countLoc;       /* location of LIMIT/FETCH token, if present */
     191             :     ParseLoc    optionLoc;      /* location of WITH TIES, if present */
     192             : } SelectLimit;
     193             : 
     194             : /* Private struct for the result of group_clause production */
     195             : typedef struct GroupClause
     196             : {
     197             :     bool        distinct;
     198             :     List       *list;
     199             : } GroupClause;
     200             : 
     201             : /* Private structs for the result of key_actions and key_action productions */
     202             : typedef struct KeyAction
     203             : {
     204             :     char        action;
     205             :     List       *cols;
     206             : } KeyAction;
     207             : 
     208             : typedef struct KeyActions
     209             : {
     210             :     KeyAction *updateAction;
     211             :     KeyAction *deleteAction;
     212             : } KeyActions;
     213             : 
     214             : /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
     215             : #define CAS_NOT_DEFERRABLE          0x01
     216             : #define CAS_DEFERRABLE              0x02
     217             : #define CAS_INITIALLY_IMMEDIATE     0x04
     218             : #define CAS_INITIALLY_DEFERRED      0x08
     219             : #define CAS_NOT_VALID               0x10
     220             : #define CAS_NO_INHERIT              0x20
     221             : #define CAS_NOT_ENFORCED            0x40
     222             : #define CAS_ENFORCED                0x80
     223             : 
     224             : 
     225             : #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
     226             : #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
     227             : 
     228             : static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
     229             :                          const char *msg);
     230             : static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
     231             : static void updateRawStmtEnd(RawStmt *rs, int end_location);
     232             : static void updatePreparableStmtEnd(Node *n, int end_location);
     233             : static Node *makeColumnRef(char *colname, List *indirection,
     234             :                            int location, core_yyscan_t yyscanner);
     235             : static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
     236             : static Node *makeStringConstCast(char *str, int location, TypeName *typename);
     237             : static Node *makeIntConst(int val, int location);
     238             : static Node *makeFloatConst(char *str, int location);
     239             : static Node *makeBoolAConst(bool state, int location);
     240             : static Node *makeBitStringConst(char *str, int location);
     241             : static Node *makeNullAConst(int location);
     242             : static Node *makeAConst(Node *v, int location);
     243             : static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
     244             : static void check_qualified_name(List *names, core_yyscan_t yyscanner);
     245             : static List *check_func_name(List *names, core_yyscan_t yyscanner);
     246             : static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
     247             : static List *extractArgTypes(List *parameters);
     248             : static List *extractAggrArgTypes(List *aggrargs);
     249             : static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
     250             :                                 core_yyscan_t yyscanner);
     251             : static void insertSelectOptions(SelectStmt *stmt,
     252             :                                 List *sortClause, List *lockingClause,
     253             :                                 SelectLimit *limitClause,
     254             :                                 WithClause *withClause,
     255             :                                 core_yyscan_t yyscanner);
     256             : static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg, int location);
     257             : static Node *doNegate(Node *n, int location);
     258             : static void doNegateFloat(Float *v);
     259             : static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
     260             : static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
     261             : static Node *makeNotExpr(Node *expr, int location);
     262             : static Node *makeAArrayExpr(List *elements, int location);
     263             : static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
     264             :                                   int location);
     265             : static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
     266             :                          List *args, int location);
     267             : static List *mergeTableFuncParameters(List *func_args, List *columns, core_yyscan_t yyscanner);
     268             : static TypeName *TableFuncTypeName(List *columns);
     269             : static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
     270             : static RangeVar *makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
     271             :                                                core_yyscan_t yyscanner);
     272             : static void SplitColQualList(List *qualList,
     273             :                              List **constraintList, CollateClause **collClause,
     274             :                              core_yyscan_t yyscanner);
     275             : static void processCASbits(int cas_bits, int location, const char *constrType,
     276             :                bool *deferrable, bool *initdeferred, bool *is_enforced,
     277             :                bool *not_valid, bool *no_inherit, core_yyscan_t yyscanner);
     278             : static PartitionStrategy parsePartitionStrategy(char *strategy, int location,
     279             :                                                 core_yyscan_t yyscanner);
     280             : static void preprocess_pubobj_list(List *pubobjspec_list,
     281             :                                    core_yyscan_t yyscanner);
     282             : static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
     283             : 
     284             : 
     285             : #line 286 "gram.c"
     286             : 
     287             : # ifndef YY_CAST
     288             : #  ifdef __cplusplus
     289             : #   define YY_CAST(Type, Val) static_cast<Type> (Val)
     290             : #   define YY_REINTERPRET_CAST(Type, Val) reinterpret_cast<Type> (Val)
     291             : #  else
     292             : #   define YY_CAST(Type, Val) ((Type) (Val))
     293             : #   define YY_REINTERPRET_CAST(Type, Val) ((Type) (Val))
     294             : #  endif
     295             : # endif
     296             : # ifndef YY_NULLPTR
     297             : #  if defined __cplusplus
     298             : #   if 201103L <= __cplusplus
     299             : #    define YY_NULLPTR nullptr
     300             : #   else
     301             : #    define YY_NULLPTR 0
     302             : #   endif
     303             : #  else
     304             : #   define YY_NULLPTR ((void*)0)
     305             : #  endif
     306             : # endif
     307             : 
     308             : #include "gram.h"
     309             : /* Symbol kind.  */
     310             : enum yysymbol_kind_t
     311             : {
     312             :   YYSYMBOL_YYEMPTY = -2,
     313             :   YYSYMBOL_YYEOF = 0,                      /* "end of file"  */
     314             :   YYSYMBOL_YYerror = 1,                    /* error  */
     315             :   YYSYMBOL_YYUNDEF = 2,                    /* "invalid token"  */
     316             :   YYSYMBOL_IDENT = 3,                      /* IDENT  */
     317             :   YYSYMBOL_UIDENT = 4,                     /* UIDENT  */
     318             :   YYSYMBOL_FCONST = 5,                     /* FCONST  */
     319             :   YYSYMBOL_SCONST = 6,                     /* SCONST  */
     320             :   YYSYMBOL_USCONST = 7,                    /* USCONST  */
     321             :   YYSYMBOL_BCONST = 8,                     /* BCONST  */
     322             :   YYSYMBOL_XCONST = 9,                     /* XCONST  */
     323             :   YYSYMBOL_Op = 10,                        /* Op  */
     324             :   YYSYMBOL_ICONST = 11,                    /* ICONST  */
     325             :   YYSYMBOL_PARAM = 12,                     /* PARAM  */
     326             :   YYSYMBOL_TYPECAST = 13,                  /* TYPECAST  */
     327             :   YYSYMBOL_DOT_DOT = 14,                   /* DOT_DOT  */
     328             :   YYSYMBOL_COLON_EQUALS = 15,              /* COLON_EQUALS  */
     329             :   YYSYMBOL_EQUALS_GREATER = 16,            /* EQUALS_GREATER  */
     330             :   YYSYMBOL_LESS_EQUALS = 17,               /* LESS_EQUALS  */
     331             :   YYSYMBOL_GREATER_EQUALS = 18,            /* GREATER_EQUALS  */
     332             :   YYSYMBOL_NOT_EQUALS = 19,                /* NOT_EQUALS  */
     333             :   YYSYMBOL_ABORT_P = 20,                   /* ABORT_P  */
     334             :   YYSYMBOL_ABSENT = 21,                    /* ABSENT  */
     335             :   YYSYMBOL_ABSOLUTE_P = 22,                /* ABSOLUTE_P  */
     336             :   YYSYMBOL_ACCESS = 23,                    /* ACCESS  */
     337             :   YYSYMBOL_ACTION = 24,                    /* ACTION  */
     338             :   YYSYMBOL_ADD_P = 25,                     /* ADD_P  */
     339             :   YYSYMBOL_ADMIN = 26,                     /* ADMIN  */
     340             :   YYSYMBOL_AFTER = 27,                     /* AFTER  */
     341             :   YYSYMBOL_AGGREGATE = 28,                 /* AGGREGATE  */
     342             :   YYSYMBOL_ALL = 29,                       /* ALL  */
     343             :   YYSYMBOL_ALSO = 30,                      /* ALSO  */
     344             :   YYSYMBOL_ALTER = 31,                     /* ALTER  */
     345             :   YYSYMBOL_ALWAYS = 32,                    /* ALWAYS  */
     346             :   YYSYMBOL_ANALYSE = 33,                   /* ANALYSE  */
     347             :   YYSYMBOL_ANALYZE = 34,                   /* ANALYZE  */
     348             :   YYSYMBOL_AND = 35,                       /* AND  */
     349             :   YYSYMBOL_ANY = 36,                       /* ANY  */
     350             :   YYSYMBOL_ARRAY = 37,                     /* ARRAY  */
     351             :   YYSYMBOL_AS = 38,                        /* AS  */
     352             :   YYSYMBOL_ASC = 39,                       /* ASC  */
     353             :   YYSYMBOL_ASENSITIVE = 40,                /* ASENSITIVE  */
     354             :   YYSYMBOL_ASSERTION = 41,                 /* ASSERTION  */
     355             :   YYSYMBOL_ASSIGNMENT = 42,                /* ASSIGNMENT  */
     356             :   YYSYMBOL_ASYMMETRIC = 43,                /* ASYMMETRIC  */
     357             :   YYSYMBOL_ATOMIC = 44,                    /* ATOMIC  */
     358             :   YYSYMBOL_AT = 45,                        /* AT  */
     359             :   YYSYMBOL_ATTACH = 46,                    /* ATTACH  */
     360             :   YYSYMBOL_ATTRIBUTE = 47,                 /* ATTRIBUTE  */
     361             :   YYSYMBOL_AUTHORIZATION = 48,             /* AUTHORIZATION  */
     362             :   YYSYMBOL_BACKWARD = 49,                  /* BACKWARD  */
     363             :   YYSYMBOL_BEFORE = 50,                    /* BEFORE  */
     364             :   YYSYMBOL_BEGIN_P = 51,                   /* BEGIN_P  */
     365             :   YYSYMBOL_BETWEEN = 52,                   /* BETWEEN  */
     366             :   YYSYMBOL_BIGINT = 53,                    /* BIGINT  */
     367             :   YYSYMBOL_BINARY = 54,                    /* BINARY  */
     368             :   YYSYMBOL_BIT = 55,                       /* BIT  */
     369             :   YYSYMBOL_BOOLEAN_P = 56,                 /* BOOLEAN_P  */
     370             :   YYSYMBOL_BOTH = 57,                      /* BOTH  */
     371             :   YYSYMBOL_BREADTH = 58,                   /* BREADTH  */
     372             :   YYSYMBOL_BY = 59,                        /* BY  */
     373             :   YYSYMBOL_CACHE = 60,                     /* CACHE  */
     374             :   YYSYMBOL_CALL = 61,                      /* CALL  */
     375             :   YYSYMBOL_CALLED = 62,                    /* CALLED  */
     376             :   YYSYMBOL_CASCADE = 63,                   /* CASCADE  */
     377             :   YYSYMBOL_CASCADED = 64,                  /* CASCADED  */
     378             :   YYSYMBOL_CASE = 65,                      /* CASE  */
     379             :   YYSYMBOL_CAST = 66,                      /* CAST  */
     380             :   YYSYMBOL_CATALOG_P = 67,                 /* CATALOG_P  */
     381             :   YYSYMBOL_CHAIN = 68,                     /* CHAIN  */
     382             :   YYSYMBOL_CHAR_P = 69,                    /* CHAR_P  */
     383             :   YYSYMBOL_CHARACTER = 70,                 /* CHARACTER  */
     384             :   YYSYMBOL_CHARACTERISTICS = 71,           /* CHARACTERISTICS  */
     385             :   YYSYMBOL_CHECK = 72,                     /* CHECK  */
     386             :   YYSYMBOL_CHECKPOINT = 73,                /* CHECKPOINT  */
     387             :   YYSYMBOL_CLASS = 74,                     /* CLASS  */
     388             :   YYSYMBOL_CLOSE = 75,                     /* CLOSE  */
     389             :   YYSYMBOL_CLUSTER = 76,                   /* CLUSTER  */
     390             :   YYSYMBOL_COALESCE = 77,                  /* COALESCE  */
     391             :   YYSYMBOL_COLLATE = 78,                   /* COLLATE  */
     392             :   YYSYMBOL_COLLATION = 79,                 /* COLLATION  */
     393             :   YYSYMBOL_COLUMN = 80,                    /* COLUMN  */
     394             :   YYSYMBOL_COLUMNS = 81,                   /* COLUMNS  */
     395             :   YYSYMBOL_COMMENT = 82,                   /* COMMENT  */
     396             :   YYSYMBOL_COMMENTS = 83,                  /* COMMENTS  */
     397             :   YYSYMBOL_COMMIT = 84,                    /* COMMIT  */
     398             :   YYSYMBOL_COMMITTED = 85,                 /* COMMITTED  */
     399             :   YYSYMBOL_COMPRESSION = 86,               /* COMPRESSION  */
     400             :   YYSYMBOL_CONCURRENTLY = 87,              /* CONCURRENTLY  */
     401             :   YYSYMBOL_CONDITIONAL = 88,               /* CONDITIONAL  */
     402             :   YYSYMBOL_CONFIGURATION = 89,             /* CONFIGURATION  */
     403             :   YYSYMBOL_CONFLICT = 90,                  /* CONFLICT  */
     404             :   YYSYMBOL_CONNECTION = 91,                /* CONNECTION  */
     405             :   YYSYMBOL_CONSTRAINT = 92,                /* CONSTRAINT  */
     406             :   YYSYMBOL_CONSTRAINTS = 93,               /* CONSTRAINTS  */
     407             :   YYSYMBOL_CONTENT_P = 94,                 /* CONTENT_P  */
     408             :   YYSYMBOL_CONTINUE_P = 95,                /* CONTINUE_P  */
     409             :   YYSYMBOL_CONVERSION_P = 96,              /* CONVERSION_P  */
     410             :   YYSYMBOL_COPY = 97,                      /* COPY  */
     411             :   YYSYMBOL_COST = 98,                      /* COST  */
     412             :   YYSYMBOL_CREATE = 99,                    /* CREATE  */
     413             :   YYSYMBOL_CROSS = 100,                    /* CROSS  */
     414             :   YYSYMBOL_CSV = 101,                      /* CSV  */
     415             :   YYSYMBOL_CUBE = 102,                     /* CUBE  */
     416             :   YYSYMBOL_CURRENT_P = 103,                /* CURRENT_P  */
     417             :   YYSYMBOL_CURRENT_CATALOG = 104,          /* CURRENT_CATALOG  */
     418             :   YYSYMBOL_CURRENT_DATE = 105,             /* CURRENT_DATE  */
     419             :   YYSYMBOL_CURRENT_ROLE = 106,             /* CURRENT_ROLE  */
     420             :   YYSYMBOL_CURRENT_SCHEMA = 107,           /* CURRENT_SCHEMA  */
     421             :   YYSYMBOL_CURRENT_TIME = 108,             /* CURRENT_TIME  */
     422             :   YYSYMBOL_CURRENT_TIMESTAMP = 109,        /* CURRENT_TIMESTAMP  */
     423             :   YYSYMBOL_CURRENT_USER = 110,             /* CURRENT_USER  */
     424             :   YYSYMBOL_CURSOR = 111,                   /* CURSOR  */
     425             :   YYSYMBOL_CYCLE = 112,                    /* CYCLE  */
     426             :   YYSYMBOL_DATA_P = 113,                   /* DATA_P  */
     427             :   YYSYMBOL_DATABASE = 114,                 /* DATABASE  */
     428             :   YYSYMBOL_DAY_P = 115,                    /* DAY_P  */
     429             :   YYSYMBOL_DEALLOCATE = 116,               /* DEALLOCATE  */
     430             :   YYSYMBOL_DEC = 117,                      /* DEC  */
     431             :   YYSYMBOL_DECIMAL_P = 118,                /* DECIMAL_P  */
     432             :   YYSYMBOL_DECLARE = 119,                  /* DECLARE  */
     433             :   YYSYMBOL_DEFAULT = 120,                  /* DEFAULT  */
     434             :   YYSYMBOL_DEFAULTS = 121,                 /* DEFAULTS  */
     435             :   YYSYMBOL_DEFERRABLE = 122,               /* DEFERRABLE  */
     436             :   YYSYMBOL_DEFERRED = 123,                 /* DEFERRED  */
     437             :   YYSYMBOL_DEFINER = 124,                  /* DEFINER  */
     438             :   YYSYMBOL_DELETE_P = 125,                 /* DELETE_P  */
     439             :   YYSYMBOL_DELIMITER = 126,                /* DELIMITER  */
     440             :   YYSYMBOL_DELIMITERS = 127,               /* DELIMITERS  */
     441             :   YYSYMBOL_DEPENDS = 128,                  /* DEPENDS  */
     442             :   YYSYMBOL_DEPTH = 129,                    /* DEPTH  */
     443             :   YYSYMBOL_DESC = 130,                     /* DESC  */
     444             :   YYSYMBOL_DETACH = 131,                   /* DETACH  */
     445             :   YYSYMBOL_DICTIONARY = 132,               /* DICTIONARY  */
     446             :   YYSYMBOL_DISABLE_P = 133,                /* DISABLE_P  */
     447             :   YYSYMBOL_DISCARD = 134,                  /* DISCARD  */
     448             :   YYSYMBOL_DISTINCT = 135,                 /* DISTINCT  */
     449             :   YYSYMBOL_DO = 136,                       /* DO  */
     450             :   YYSYMBOL_DOCUMENT_P = 137,               /* DOCUMENT_P  */
     451             :   YYSYMBOL_DOMAIN_P = 138,                 /* DOMAIN_P  */
     452             :   YYSYMBOL_DOUBLE_P = 139,                 /* DOUBLE_P  */
     453             :   YYSYMBOL_DROP = 140,                     /* DROP  */
     454             :   YYSYMBOL_EACH = 141,                     /* EACH  */
     455             :   YYSYMBOL_ELSE = 142,                     /* ELSE  */
     456             :   YYSYMBOL_EMPTY_P = 143,                  /* EMPTY_P  */
     457             :   YYSYMBOL_ENABLE_P = 144,                 /* ENABLE_P  */
     458             :   YYSYMBOL_ENCODING = 145,                 /* ENCODING  */
     459             :   YYSYMBOL_ENCRYPTED = 146,                /* ENCRYPTED  */
     460             :   YYSYMBOL_END_P = 147,                    /* END_P  */
     461             :   YYSYMBOL_ENFORCED = 148,                 /* ENFORCED  */
     462             :   YYSYMBOL_ENUM_P = 149,                   /* ENUM_P  */
     463             :   YYSYMBOL_ERROR_P = 150,                  /* ERROR_P  */
     464             :   YYSYMBOL_ESCAPE = 151,                   /* ESCAPE  */
     465             :   YYSYMBOL_EVENT = 152,                    /* EVENT  */
     466             :   YYSYMBOL_EXCEPT = 153,                   /* EXCEPT  */
     467             :   YYSYMBOL_EXCLUDE = 154,                  /* EXCLUDE  */
     468             :   YYSYMBOL_EXCLUDING = 155,                /* EXCLUDING  */
     469             :   YYSYMBOL_EXCLUSIVE = 156,                /* EXCLUSIVE  */
     470             :   YYSYMBOL_EXECUTE = 157,                  /* EXECUTE  */
     471             :   YYSYMBOL_EXISTS = 158,                   /* EXISTS  */
     472             :   YYSYMBOL_EXPLAIN = 159,                  /* EXPLAIN  */
     473             :   YYSYMBOL_EXPRESSION = 160,               /* EXPRESSION  */
     474             :   YYSYMBOL_EXTENSION = 161,                /* EXTENSION  */
     475             :   YYSYMBOL_EXTERNAL = 162,                 /* EXTERNAL  */
     476             :   YYSYMBOL_EXTRACT = 163,                  /* EXTRACT  */
     477             :   YYSYMBOL_FALSE_P = 164,                  /* FALSE_P  */
     478             :   YYSYMBOL_FAMILY = 165,                   /* FAMILY  */
     479             :   YYSYMBOL_FETCH = 166,                    /* FETCH  */
     480             :   YYSYMBOL_FILTER = 167,                   /* FILTER  */
     481             :   YYSYMBOL_FINALIZE = 168,                 /* FINALIZE  */
     482             :   YYSYMBOL_FIRST_P = 169,                  /* FIRST_P  */
     483             :   YYSYMBOL_FLOAT_P = 170,                  /* FLOAT_P  */
     484             :   YYSYMBOL_FOLLOWING = 171,                /* FOLLOWING  */
     485             :   YYSYMBOL_FOR = 172,                      /* FOR  */
     486             :   YYSYMBOL_FORCE = 173,                    /* FORCE  */
     487             :   YYSYMBOL_FOREIGN = 174,                  /* FOREIGN  */
     488             :   YYSYMBOL_FORMAT = 175,                   /* FORMAT  */
     489             :   YYSYMBOL_FORWARD = 176,                  /* FORWARD  */
     490             :   YYSYMBOL_FREEZE = 177,                   /* FREEZE  */
     491             :   YYSYMBOL_FROM = 178,                     /* FROM  */
     492             :   YYSYMBOL_FULL = 179,                     /* FULL  */
     493             :   YYSYMBOL_FUNCTION = 180,                 /* FUNCTION  */
     494             :   YYSYMBOL_FUNCTIONS = 181,                /* FUNCTIONS  */
     495             :   YYSYMBOL_GENERATED = 182,                /* GENERATED  */
     496             :   YYSYMBOL_GLOBAL = 183,                   /* GLOBAL  */
     497             :   YYSYMBOL_GRANT = 184,                    /* GRANT  */
     498             :   YYSYMBOL_GRANTED = 185,                  /* GRANTED  */
     499             :   YYSYMBOL_GREATEST = 186,                 /* GREATEST  */
     500             :   YYSYMBOL_GROUP_P = 187,                  /* GROUP_P  */
     501             :   YYSYMBOL_GROUPING = 188,                 /* GROUPING  */
     502             :   YYSYMBOL_GROUPS = 189,                   /* GROUPS  */
     503             :   YYSYMBOL_HANDLER = 190,                  /* HANDLER  */
     504             :   YYSYMBOL_HAVING = 191,                   /* HAVING  */
     505             :   YYSYMBOL_HEADER_P = 192,                 /* HEADER_P  */
     506             :   YYSYMBOL_HOLD = 193,                     /* HOLD  */
     507             :   YYSYMBOL_HOUR_P = 194,                   /* HOUR_P  */
     508             :   YYSYMBOL_IDENTITY_P = 195,               /* IDENTITY_P  */
     509             :   YYSYMBOL_IF_P = 196,                     /* IF_P  */
     510             :   YYSYMBOL_ILIKE = 197,                    /* ILIKE  */
     511             :   YYSYMBOL_IMMEDIATE = 198,                /* IMMEDIATE  */
     512             :   YYSYMBOL_IMMUTABLE = 199,                /* IMMUTABLE  */
     513             :   YYSYMBOL_IMPLICIT_P = 200,               /* IMPLICIT_P  */
     514             :   YYSYMBOL_IMPORT_P = 201,                 /* IMPORT_P  */
     515             :   YYSYMBOL_IN_P = 202,                     /* IN_P  */
     516             :   YYSYMBOL_INCLUDE = 203,                  /* INCLUDE  */
     517             :   YYSYMBOL_INCLUDING = 204,                /* INCLUDING  */
     518             :   YYSYMBOL_INCREMENT = 205,                /* INCREMENT  */
     519             :   YYSYMBOL_INDENT = 206,                   /* INDENT  */
     520             :   YYSYMBOL_INDEX = 207,                    /* INDEX  */
     521             :   YYSYMBOL_INDEXES = 208,                  /* INDEXES  */
     522             :   YYSYMBOL_INHERIT = 209,                  /* INHERIT  */
     523             :   YYSYMBOL_INHERITS = 210,                 /* INHERITS  */
     524             :   YYSYMBOL_INITIALLY = 211,                /* INITIALLY  */
     525             :   YYSYMBOL_INLINE_P = 212,                 /* INLINE_P  */
     526             :   YYSYMBOL_INNER_P = 213,                  /* INNER_P  */
     527             :   YYSYMBOL_INOUT = 214,                    /* INOUT  */
     528             :   YYSYMBOL_INPUT_P = 215,                  /* INPUT_P  */
     529             :   YYSYMBOL_INSENSITIVE = 216,              /* INSENSITIVE  */
     530             :   YYSYMBOL_INSERT = 217,                   /* INSERT  */
     531             :   YYSYMBOL_INSTEAD = 218,                  /* INSTEAD  */
     532             :   YYSYMBOL_INT_P = 219,                    /* INT_P  */
     533             :   YYSYMBOL_INTEGER = 220,                  /* INTEGER  */
     534             :   YYSYMBOL_INTERSECT = 221,                /* INTERSECT  */
     535             :   YYSYMBOL_INTERVAL = 222,                 /* INTERVAL  */
     536             :   YYSYMBOL_INTO = 223,                     /* INTO  */
     537             :   YYSYMBOL_INVOKER = 224,                  /* INVOKER  */
     538             :   YYSYMBOL_IS = 225,                       /* IS  */
     539             :   YYSYMBOL_ISNULL = 226,                   /* ISNULL  */
     540             :   YYSYMBOL_ISOLATION = 227,                /* ISOLATION  */
     541             :   YYSYMBOL_JOIN = 228,                     /* JOIN  */
     542             :   YYSYMBOL_JSON = 229,                     /* JSON  */
     543             :   YYSYMBOL_JSON_ARRAY = 230,               /* JSON_ARRAY  */
     544             :   YYSYMBOL_JSON_ARRAYAGG = 231,            /* JSON_ARRAYAGG  */
     545             :   YYSYMBOL_JSON_EXISTS = 232,              /* JSON_EXISTS  */
     546             :   YYSYMBOL_JSON_OBJECT = 233,              /* JSON_OBJECT  */
     547             :   YYSYMBOL_JSON_OBJECTAGG = 234,           /* JSON_OBJECTAGG  */
     548             :   YYSYMBOL_JSON_QUERY = 235,               /* JSON_QUERY  */
     549             :   YYSYMBOL_JSON_SCALAR = 236,              /* JSON_SCALAR  */
     550             :   YYSYMBOL_JSON_SERIALIZE = 237,           /* JSON_SERIALIZE  */
     551             :   YYSYMBOL_JSON_TABLE = 238,               /* JSON_TABLE  */
     552             :   YYSYMBOL_JSON_VALUE = 239,               /* JSON_VALUE  */
     553             :   YYSYMBOL_KEEP = 240,                     /* KEEP  */
     554             :   YYSYMBOL_KEY = 241,                      /* KEY  */
     555             :   YYSYMBOL_KEYS = 242,                     /* KEYS  */
     556             :   YYSYMBOL_LABEL = 243,                    /* LABEL  */
     557             :   YYSYMBOL_LANGUAGE = 244,                 /* LANGUAGE  */
     558             :   YYSYMBOL_LARGE_P = 245,                  /* LARGE_P  */
     559             :   YYSYMBOL_LAST_P = 246,                   /* LAST_P  */
     560             :   YYSYMBOL_LATERAL_P = 247,                /* LATERAL_P  */
     561             :   YYSYMBOL_LEADING = 248,                  /* LEADING  */
     562             :   YYSYMBOL_LEAKPROOF = 249,                /* LEAKPROOF  */
     563             :   YYSYMBOL_LEAST = 250,                    /* LEAST  */
     564             :   YYSYMBOL_LEFT = 251,                     /* LEFT  */
     565             :   YYSYMBOL_LEVEL = 252,                    /* LEVEL  */
     566             :   YYSYMBOL_LIKE = 253,                     /* LIKE  */
     567             :   YYSYMBOL_LIMIT = 254,                    /* LIMIT  */
     568             :   YYSYMBOL_LISTEN = 255,                   /* LISTEN  */
     569             :   YYSYMBOL_LOAD = 256,                     /* LOAD  */
     570             :   YYSYMBOL_LOCAL = 257,                    /* LOCAL  */
     571             :   YYSYMBOL_LOCALTIME = 258,                /* LOCALTIME  */
     572             :   YYSYMBOL_LOCALTIMESTAMP = 259,           /* LOCALTIMESTAMP  */
     573             :   YYSYMBOL_LOCATION = 260,                 /* LOCATION  */
     574             :   YYSYMBOL_LOCK_P = 261,                   /* LOCK_P  */
     575             :   YYSYMBOL_LOCKED = 262,                   /* LOCKED  */
     576             :   YYSYMBOL_LOGGED = 263,                   /* LOGGED  */
     577             :   YYSYMBOL_MAPPING = 264,                  /* MAPPING  */
     578             :   YYSYMBOL_MATCH = 265,                    /* MATCH  */
     579             :   YYSYMBOL_MATCHED = 266,                  /* MATCHED  */
     580             :   YYSYMBOL_MATERIALIZED = 267,             /* MATERIALIZED  */
     581             :   YYSYMBOL_MAXVALUE = 268,                 /* MAXVALUE  */
     582             :   YYSYMBOL_MERGE = 269,                    /* MERGE  */
     583             :   YYSYMBOL_MERGE_ACTION = 270,             /* MERGE_ACTION  */
     584             :   YYSYMBOL_METHOD = 271,                   /* METHOD  */
     585             :   YYSYMBOL_MINUTE_P = 272,                 /* MINUTE_P  */
     586             :   YYSYMBOL_MINVALUE = 273,                 /* MINVALUE  */
     587             :   YYSYMBOL_MODE = 274,                     /* MODE  */
     588             :   YYSYMBOL_MONTH_P = 275,                  /* MONTH_P  */
     589             :   YYSYMBOL_MOVE = 276,                     /* MOVE  */
     590             :   YYSYMBOL_NAME_P = 277,                   /* NAME_P  */
     591             :   YYSYMBOL_NAMES = 278,                    /* NAMES  */
     592             :   YYSYMBOL_NATIONAL = 279,                 /* NATIONAL  */
     593             :   YYSYMBOL_NATURAL = 280,                  /* NATURAL  */
     594             :   YYSYMBOL_NCHAR = 281,                    /* NCHAR  */
     595             :   YYSYMBOL_NESTED = 282,                   /* NESTED  */
     596             :   YYSYMBOL_NEW = 283,                      /* NEW  */
     597             :   YYSYMBOL_NEXT = 284,                     /* NEXT  */
     598             :   YYSYMBOL_NFC = 285,                      /* NFC  */
     599             :   YYSYMBOL_NFD = 286,                      /* NFD  */
     600             :   YYSYMBOL_NFKC = 287,                     /* NFKC  */
     601             :   YYSYMBOL_NFKD = 288,                     /* NFKD  */
     602             :   YYSYMBOL_NO = 289,                       /* NO  */
     603             :   YYSYMBOL_NONE = 290,                     /* NONE  */
     604             :   YYSYMBOL_NORMALIZE = 291,                /* NORMALIZE  */
     605             :   YYSYMBOL_NORMALIZED = 292,               /* NORMALIZED  */
     606             :   YYSYMBOL_NOT = 293,                      /* NOT  */
     607             :   YYSYMBOL_NOTHING = 294,                  /* NOTHING  */
     608             :   YYSYMBOL_NOTIFY = 295,                   /* NOTIFY  */
     609             :   YYSYMBOL_NOTNULL = 296,                  /* NOTNULL  */
     610             :   YYSYMBOL_NOWAIT = 297,                   /* NOWAIT  */
     611             :   YYSYMBOL_NULL_P = 298,                   /* NULL_P  */
     612             :   YYSYMBOL_NULLIF = 299,                   /* NULLIF  */
     613             :   YYSYMBOL_NULLS_P = 300,                  /* NULLS_P  */
     614             :   YYSYMBOL_NUMERIC = 301,                  /* NUMERIC  */
     615             :   YYSYMBOL_OBJECT_P = 302,                 /* OBJECT_P  */
     616             :   YYSYMBOL_OBJECTS_P = 303,                /* OBJECTS_P  */
     617             :   YYSYMBOL_OF = 304,                       /* OF  */
     618             :   YYSYMBOL_OFF = 305,                      /* OFF  */
     619             :   YYSYMBOL_OFFSET = 306,                   /* OFFSET  */
     620             :   YYSYMBOL_OIDS = 307,                     /* OIDS  */
     621             :   YYSYMBOL_OLD = 308,                      /* OLD  */
     622             :   YYSYMBOL_OMIT = 309,                     /* OMIT  */
     623             :   YYSYMBOL_ON = 310,                       /* ON  */
     624             :   YYSYMBOL_ONLY = 311,                     /* ONLY  */
     625             :   YYSYMBOL_OPERATOR = 312,                 /* OPERATOR  */
     626             :   YYSYMBOL_OPTION = 313,                   /* OPTION  */
     627             :   YYSYMBOL_OPTIONS = 314,                  /* OPTIONS  */
     628             :   YYSYMBOL_OR = 315,                       /* OR  */
     629             :   YYSYMBOL_ORDER = 316,                    /* ORDER  */
     630             :   YYSYMBOL_ORDINALITY = 317,               /* ORDINALITY  */
     631             :   YYSYMBOL_OTHERS = 318,                   /* OTHERS  */
     632             :   YYSYMBOL_OUT_P = 319,                    /* OUT_P  */
     633             :   YYSYMBOL_OUTER_P = 320,                  /* OUTER_P  */
     634             :   YYSYMBOL_OVER = 321,                     /* OVER  */
     635             :   YYSYMBOL_OVERLAPS = 322,                 /* OVERLAPS  */
     636             :   YYSYMBOL_OVERLAY = 323,                  /* OVERLAY  */
     637             :   YYSYMBOL_OVERRIDING = 324,               /* OVERRIDING  */
     638             :   YYSYMBOL_OWNED = 325,                    /* OWNED  */
     639             :   YYSYMBOL_OWNER = 326,                    /* OWNER  */
     640             :   YYSYMBOL_PARALLEL = 327,                 /* PARALLEL  */
     641             :   YYSYMBOL_PARAMETER = 328,                /* PARAMETER  */
     642             :   YYSYMBOL_PARSER = 329,                   /* PARSER  */
     643             :   YYSYMBOL_PARTIAL = 330,                  /* PARTIAL  */
     644             :   YYSYMBOL_PARTITION = 331,                /* PARTITION  */
     645             :   YYSYMBOL_PASSING = 332,                  /* PASSING  */
     646             :   YYSYMBOL_PASSWORD = 333,                 /* PASSWORD  */
     647             :   YYSYMBOL_PATH = 334,                     /* PATH  */
     648             :   YYSYMBOL_PERIOD = 335,                   /* PERIOD  */
     649             :   YYSYMBOL_PLACING = 336,                  /* PLACING  */
     650             :   YYSYMBOL_PLAN = 337,                     /* PLAN  */
     651             :   YYSYMBOL_PLANS = 338,                    /* PLANS  */
     652             :   YYSYMBOL_POLICY = 339,                   /* POLICY  */
     653             :   YYSYMBOL_POSITION = 340,                 /* POSITION  */
     654             :   YYSYMBOL_PRECEDING = 341,                /* PRECEDING  */
     655             :   YYSYMBOL_PRECISION = 342,                /* PRECISION  */
     656             :   YYSYMBOL_PRESERVE = 343,                 /* PRESERVE  */
     657             :   YYSYMBOL_PREPARE = 344,                  /* PREPARE  */
     658             :   YYSYMBOL_PREPARED = 345,                 /* PREPARED  */
     659             :   YYSYMBOL_PRIMARY = 346,                  /* PRIMARY  */
     660             :   YYSYMBOL_PRIOR = 347,                    /* PRIOR  */
     661             :   YYSYMBOL_PRIVILEGES = 348,               /* PRIVILEGES  */
     662             :   YYSYMBOL_PROCEDURAL = 349,               /* PROCEDURAL  */
     663             :   YYSYMBOL_PROCEDURE = 350,                /* PROCEDURE  */
     664             :   YYSYMBOL_PROCEDURES = 351,               /* PROCEDURES  */
     665             :   YYSYMBOL_PROGRAM = 352,                  /* PROGRAM  */
     666             :   YYSYMBOL_PUBLICATION = 353,              /* PUBLICATION  */
     667             :   YYSYMBOL_QUOTE = 354,                    /* QUOTE  */
     668             :   YYSYMBOL_QUOTES = 355,                   /* QUOTES  */
     669             :   YYSYMBOL_RANGE = 356,                    /* RANGE  */
     670             :   YYSYMBOL_READ = 357,                     /* READ  */
     671             :   YYSYMBOL_REAL = 358,                     /* REAL  */
     672             :   YYSYMBOL_REASSIGN = 359,                 /* REASSIGN  */
     673             :   YYSYMBOL_RECURSIVE = 360,                /* RECURSIVE  */
     674             :   YYSYMBOL_REF_P = 361,                    /* REF_P  */
     675             :   YYSYMBOL_REFERENCES = 362,               /* REFERENCES  */
     676             :   YYSYMBOL_REFERENCING = 363,              /* REFERENCING  */
     677             :   YYSYMBOL_REFRESH = 364,                  /* REFRESH  */
     678             :   YYSYMBOL_REINDEX = 365,                  /* REINDEX  */
     679             :   YYSYMBOL_RELATIVE_P = 366,               /* RELATIVE_P  */
     680             :   YYSYMBOL_RELEASE = 367,                  /* RELEASE  */
     681             :   YYSYMBOL_RENAME = 368,                   /* RENAME  */
     682             :   YYSYMBOL_REPEATABLE = 369,               /* REPEATABLE  */
     683             :   YYSYMBOL_REPLACE = 370,                  /* REPLACE  */
     684             :   YYSYMBOL_REPLICA = 371,                  /* REPLICA  */
     685             :   YYSYMBOL_RESET = 372,                    /* RESET  */
     686             :   YYSYMBOL_RESTART = 373,                  /* RESTART  */
     687             :   YYSYMBOL_RESTRICT = 374,                 /* RESTRICT  */
     688             :   YYSYMBOL_RETURN = 375,                   /* RETURN  */
     689             :   YYSYMBOL_RETURNING = 376,                /* RETURNING  */
     690             :   YYSYMBOL_RETURNS = 377,                  /* RETURNS  */
     691             :   YYSYMBOL_REVOKE = 378,                   /* REVOKE  */
     692             :   YYSYMBOL_RIGHT = 379,                    /* RIGHT  */
     693             :   YYSYMBOL_ROLE = 380,                     /* ROLE  */
     694             :   YYSYMBOL_ROLLBACK = 381,                 /* ROLLBACK  */
     695             :   YYSYMBOL_ROLLUP = 382,                   /* ROLLUP  */
     696             :   YYSYMBOL_ROUTINE = 383,                  /* ROUTINE  */
     697             :   YYSYMBOL_ROUTINES = 384,                 /* ROUTINES  */
     698             :   YYSYMBOL_ROW = 385,                      /* ROW  */
     699             :   YYSYMBOL_ROWS = 386,                     /* ROWS  */
     700             :   YYSYMBOL_RULE = 387,                     /* RULE  */
     701             :   YYSYMBOL_SAVEPOINT = 388,                /* SAVEPOINT  */
     702             :   YYSYMBOL_SCALAR = 389,                   /* SCALAR  */
     703             :   YYSYMBOL_SCHEMA = 390,                   /* SCHEMA  */
     704             :   YYSYMBOL_SCHEMAS = 391,                  /* SCHEMAS  */
     705             :   YYSYMBOL_SCROLL = 392,                   /* SCROLL  */
     706             :   YYSYMBOL_SEARCH = 393,                   /* SEARCH  */
     707             :   YYSYMBOL_SECOND_P = 394,                 /* SECOND_P  */
     708             :   YYSYMBOL_SECURITY = 395,                 /* SECURITY  */
     709             :   YYSYMBOL_SELECT = 396,                   /* SELECT  */
     710             :   YYSYMBOL_SEQUENCE = 397,                 /* SEQUENCE  */
     711             :   YYSYMBOL_SEQUENCES = 398,                /* SEQUENCES  */
     712             :   YYSYMBOL_SERIALIZABLE = 399,             /* SERIALIZABLE  */
     713             :   YYSYMBOL_SERVER = 400,                   /* SERVER  */
     714             :   YYSYMBOL_SESSION = 401,                  /* SESSION  */
     715             :   YYSYMBOL_SESSION_USER = 402,             /* SESSION_USER  */
     716             :   YYSYMBOL_SET = 403,                      /* SET  */
     717             :   YYSYMBOL_SETS = 404,                     /* SETS  */
     718             :   YYSYMBOL_SETOF = 405,                    /* SETOF  */
     719             :   YYSYMBOL_SHARE = 406,                    /* SHARE  */
     720             :   YYSYMBOL_SHOW = 407,                     /* SHOW  */
     721             :   YYSYMBOL_SIMILAR = 408,                  /* SIMILAR  */
     722             :   YYSYMBOL_SIMPLE = 409,                   /* SIMPLE  */
     723             :   YYSYMBOL_SKIP = 410,                     /* SKIP  */
     724             :   YYSYMBOL_SMALLINT = 411,                 /* SMALLINT  */
     725             :   YYSYMBOL_SNAPSHOT = 412,                 /* SNAPSHOT  */
     726             :   YYSYMBOL_SOME = 413,                     /* SOME  */
     727             :   YYSYMBOL_SOURCE = 414,                   /* SOURCE  */
     728             :   YYSYMBOL_SQL_P = 415,                    /* SQL_P  */
     729             :   YYSYMBOL_STABLE = 416,                   /* STABLE  */
     730             :   YYSYMBOL_STANDALONE_P = 417,             /* STANDALONE_P  */
     731             :   YYSYMBOL_START = 418,                    /* START  */
     732             :   YYSYMBOL_STATEMENT = 419,                /* STATEMENT  */
     733             :   YYSYMBOL_STATISTICS = 420,               /* STATISTICS  */
     734             :   YYSYMBOL_STDIN = 421,                    /* STDIN  */
     735             :   YYSYMBOL_STDOUT = 422,                   /* STDOUT  */
     736             :   YYSYMBOL_STORAGE = 423,                  /* STORAGE  */
     737             :   YYSYMBOL_STORED = 424,                   /* STORED  */
     738             :   YYSYMBOL_STRICT_P = 425,                 /* STRICT_P  */
     739             :   YYSYMBOL_STRING_P = 426,                 /* STRING_P  */
     740             :   YYSYMBOL_STRIP_P = 427,                  /* STRIP_P  */
     741             :   YYSYMBOL_SUBSCRIPTION = 428,             /* SUBSCRIPTION  */
     742             :   YYSYMBOL_SUBSTRING = 429,                /* SUBSTRING  */
     743             :   YYSYMBOL_SUPPORT = 430,                  /* SUPPORT  */
     744             :   YYSYMBOL_SYMMETRIC = 431,                /* SYMMETRIC  */
     745             :   YYSYMBOL_SYSID = 432,                    /* SYSID  */
     746             :   YYSYMBOL_SYSTEM_P = 433,                 /* SYSTEM_P  */
     747             :   YYSYMBOL_SYSTEM_USER = 434,              /* SYSTEM_USER  */
     748             :   YYSYMBOL_TABLE = 435,                    /* TABLE  */
     749             :   YYSYMBOL_TABLES = 436,                   /* TABLES  */
     750             :   YYSYMBOL_TABLESAMPLE = 437,              /* TABLESAMPLE  */
     751             :   YYSYMBOL_TABLESPACE = 438,               /* TABLESPACE  */
     752             :   YYSYMBOL_TARGET = 439,                   /* TARGET  */
     753             :   YYSYMBOL_TEMP = 440,                     /* TEMP  */
     754             :   YYSYMBOL_TEMPLATE = 441,                 /* TEMPLATE  */
     755             :   YYSYMBOL_TEMPORARY = 442,                /* TEMPORARY  */
     756             :   YYSYMBOL_TEXT_P = 443,                   /* TEXT_P  */
     757             :   YYSYMBOL_THEN = 444,                     /* THEN  */
     758             :   YYSYMBOL_TIES = 445,                     /* TIES  */
     759             :   YYSYMBOL_TIME = 446,                     /* TIME  */
     760             :   YYSYMBOL_TIMESTAMP = 447,                /* TIMESTAMP  */
     761             :   YYSYMBOL_TO = 448,                       /* TO  */
     762             :   YYSYMBOL_TRAILING = 449,                 /* TRAILING  */
     763             :   YYSYMBOL_TRANSACTION = 450,              /* TRANSACTION  */
     764             :   YYSYMBOL_TRANSFORM = 451,                /* TRANSFORM  */
     765             :   YYSYMBOL_TREAT = 452,                    /* TREAT  */
     766             :   YYSYMBOL_TRIGGER = 453,                  /* TRIGGER  */
     767             :   YYSYMBOL_TRIM = 454,                     /* TRIM  */
     768             :   YYSYMBOL_TRUE_P = 455,                   /* TRUE_P  */
     769             :   YYSYMBOL_TRUNCATE = 456,                 /* TRUNCATE  */
     770             :   YYSYMBOL_TRUSTED = 457,                  /* TRUSTED  */
     771             :   YYSYMBOL_TYPE_P = 458,                   /* TYPE_P  */
     772             :   YYSYMBOL_TYPES_P = 459,                  /* TYPES_P  */
     773             :   YYSYMBOL_UESCAPE = 460,                  /* UESCAPE  */
     774             :   YYSYMBOL_UNBOUNDED = 461,                /* UNBOUNDED  */
     775             :   YYSYMBOL_UNCONDITIONAL = 462,            /* UNCONDITIONAL  */
     776             :   YYSYMBOL_UNCOMMITTED = 463,              /* UNCOMMITTED  */
     777             :   YYSYMBOL_UNENCRYPTED = 464,              /* UNENCRYPTED  */
     778             :   YYSYMBOL_UNION = 465,                    /* UNION  */
     779             :   YYSYMBOL_UNIQUE = 466,                   /* UNIQUE  */
     780             :   YYSYMBOL_UNKNOWN = 467,                  /* UNKNOWN  */
     781             :   YYSYMBOL_UNLISTEN = 468,                 /* UNLISTEN  */
     782             :   YYSYMBOL_UNLOGGED = 469,                 /* UNLOGGED  */
     783             :   YYSYMBOL_UNTIL = 470,                    /* UNTIL  */
     784             :   YYSYMBOL_UPDATE = 471,                   /* UPDATE  */
     785             :   YYSYMBOL_USER = 472,                     /* USER  */
     786             :   YYSYMBOL_USING = 473,                    /* USING  */
     787             :   YYSYMBOL_VACUUM = 474,                   /* VACUUM  */
     788             :   YYSYMBOL_VALID = 475,                    /* VALID  */
     789             :   YYSYMBOL_VALIDATE = 476,                 /* VALIDATE  */
     790             :   YYSYMBOL_VALIDATOR = 477,                /* VALIDATOR  */
     791             :   YYSYMBOL_VALUE_P = 478,                  /* VALUE_P  */
     792             :   YYSYMBOL_VALUES = 479,                   /* VALUES  */
     793             :   YYSYMBOL_VARCHAR = 480,                  /* VARCHAR  */
     794             :   YYSYMBOL_VARIADIC = 481,                 /* VARIADIC  */
     795             :   YYSYMBOL_VARYING = 482,                  /* VARYING  */
     796             :   YYSYMBOL_VERBOSE = 483,                  /* VERBOSE  */
     797             :   YYSYMBOL_VERSION_P = 484,                /* VERSION_P  */
     798             :   YYSYMBOL_VIEW = 485,                     /* VIEW  */
     799             :   YYSYMBOL_VIEWS = 486,                    /* VIEWS  */
     800             :   YYSYMBOL_VIRTUAL = 487,                  /* VIRTUAL  */
     801             :   YYSYMBOL_VOLATILE = 488,                 /* VOLATILE  */
     802             :   YYSYMBOL_WHEN = 489,                     /* WHEN  */
     803             :   YYSYMBOL_WHERE = 490,                    /* WHERE  */
     804             :   YYSYMBOL_WHITESPACE_P = 491,             /* WHITESPACE_P  */
     805             :   YYSYMBOL_WINDOW = 492,                   /* WINDOW  */
     806             :   YYSYMBOL_WITH = 493,                     /* WITH  */
     807             :   YYSYMBOL_WITHIN = 494,                   /* WITHIN  */
     808             :   YYSYMBOL_WITHOUT = 495,                  /* WITHOUT  */
     809             :   YYSYMBOL_WORK = 496,                     /* WORK  */
     810             :   YYSYMBOL_WRAPPER = 497,                  /* WRAPPER  */
     811             :   YYSYMBOL_WRITE = 498,                    /* WRITE  */
     812             :   YYSYMBOL_XML_P = 499,                    /* XML_P  */
     813             :   YYSYMBOL_XMLATTRIBUTES = 500,            /* XMLATTRIBUTES  */
     814             :   YYSYMBOL_XMLCONCAT = 501,                /* XMLCONCAT  */
     815             :   YYSYMBOL_XMLELEMENT = 502,               /* XMLELEMENT  */
     816             :   YYSYMBOL_XMLEXISTS = 503,                /* XMLEXISTS  */
     817             :   YYSYMBOL_XMLFOREST = 504,                /* XMLFOREST  */
     818             :   YYSYMBOL_XMLNAMESPACES = 505,            /* XMLNAMESPACES  */
     819             :   YYSYMBOL_XMLPARSE = 506,                 /* XMLPARSE  */
     820             :   YYSYMBOL_XMLPI = 507,                    /* XMLPI  */
     821             :   YYSYMBOL_XMLROOT = 508,                  /* XMLROOT  */
     822             :   YYSYMBOL_XMLSERIALIZE = 509,             /* XMLSERIALIZE  */
     823             :   YYSYMBOL_XMLTABLE = 510,                 /* XMLTABLE  */
     824             :   YYSYMBOL_YEAR_P = 511,                   /* YEAR_P  */
     825             :   YYSYMBOL_YES_P = 512,                    /* YES_P  */
     826             :   YYSYMBOL_ZONE = 513,                     /* ZONE  */
     827             :   YYSYMBOL_FORMAT_LA = 514,                /* FORMAT_LA  */
     828             :   YYSYMBOL_NOT_LA = 515,                   /* NOT_LA  */
     829             :   YYSYMBOL_NULLS_LA = 516,                 /* NULLS_LA  */
     830             :   YYSYMBOL_WITH_LA = 517,                  /* WITH_LA  */
     831             :   YYSYMBOL_WITHOUT_LA = 518,               /* WITHOUT_LA  */
     832             :   YYSYMBOL_MODE_TYPE_NAME = 519,           /* MODE_TYPE_NAME  */
     833             :   YYSYMBOL_MODE_PLPGSQL_EXPR = 520,        /* MODE_PLPGSQL_EXPR  */
     834             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN1 = 521,     /* MODE_PLPGSQL_ASSIGN1  */
     835             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN2 = 522,     /* MODE_PLPGSQL_ASSIGN2  */
     836             :   YYSYMBOL_MODE_PLPGSQL_ASSIGN3 = 523,     /* MODE_PLPGSQL_ASSIGN3  */
     837             :   YYSYMBOL_524_ = 524,                     /* '<'  */
     838             :   YYSYMBOL_525_ = 525,                     /* '>'  */
     839             :   YYSYMBOL_526_ = 526,                     /* '='  */
     840             :   YYSYMBOL_527_ = 527,                     /* '+'  */
     841             :   YYSYMBOL_528_ = 528,                     /* '-'  */
     842             :   YYSYMBOL_529_ = 529,                     /* '*'  */
     843             :   YYSYMBOL_530_ = 530,                     /* '/'  */
     844             :   YYSYMBOL_531_ = 531,                     /* '%'  */
     845             :   YYSYMBOL_532_ = 532,                     /* '^'  */
     846             :   YYSYMBOL_UMINUS = 533,                   /* UMINUS  */
     847             :   YYSYMBOL_534_ = 534,                     /* '['  */
     848             :   YYSYMBOL_535_ = 535,                     /* ']'  */
     849             :   YYSYMBOL_536_ = 536,                     /* '('  */
     850             :   YYSYMBOL_537_ = 537,                     /* ')'  */
     851             :   YYSYMBOL_538_ = 538,                     /* '.'  */
     852             :   YYSYMBOL_539_ = 539,                     /* ';'  */
     853             :   YYSYMBOL_540_ = 540,                     /* ','  */
     854             :   YYSYMBOL_541_ = 541,                     /* ':'  */
     855             :   YYSYMBOL_YYACCEPT = 542,                 /* $accept  */
     856             :   YYSYMBOL_parse_toplevel = 543,           /* parse_toplevel  */
     857             :   YYSYMBOL_stmtmulti = 544,                /* stmtmulti  */
     858             :   YYSYMBOL_toplevel_stmt = 545,            /* toplevel_stmt  */
     859             :   YYSYMBOL_stmt = 546,                     /* stmt  */
     860             :   YYSYMBOL_opt_single_name = 547,          /* opt_single_name  */
     861             :   YYSYMBOL_opt_qualified_name = 548,       /* opt_qualified_name  */
     862             :   YYSYMBOL_opt_concurrently = 549,         /* opt_concurrently  */
     863             :   YYSYMBOL_opt_drop_behavior = 550,        /* opt_drop_behavior  */
     864             :   YYSYMBOL_CallStmt = 551,                 /* CallStmt  */
     865             :   YYSYMBOL_CreateRoleStmt = 552,           /* CreateRoleStmt  */
     866             :   YYSYMBOL_opt_with = 553,                 /* opt_with  */
     867             :   YYSYMBOL_OptRoleList = 554,              /* OptRoleList  */
     868             :   YYSYMBOL_AlterOptRoleList = 555,         /* AlterOptRoleList  */
     869             :   YYSYMBOL_AlterOptRoleElem = 556,         /* AlterOptRoleElem  */
     870             :   YYSYMBOL_CreateOptRoleElem = 557,        /* CreateOptRoleElem  */
     871             :   YYSYMBOL_CreateUserStmt = 558,           /* CreateUserStmt  */
     872             :   YYSYMBOL_AlterRoleStmt = 559,            /* AlterRoleStmt  */
     873             :   YYSYMBOL_opt_in_database = 560,          /* opt_in_database  */
     874             :   YYSYMBOL_AlterRoleSetStmt = 561,         /* AlterRoleSetStmt  */
     875             :   YYSYMBOL_DropRoleStmt = 562,             /* DropRoleStmt  */
     876             :   YYSYMBOL_CreateGroupStmt = 563,          /* CreateGroupStmt  */
     877             :   YYSYMBOL_AlterGroupStmt = 564,           /* AlterGroupStmt  */
     878             :   YYSYMBOL_add_drop = 565,                 /* add_drop  */
     879             :   YYSYMBOL_CreateSchemaStmt = 566,         /* CreateSchemaStmt  */
     880             :   YYSYMBOL_OptSchemaEltList = 567,         /* OptSchemaEltList  */
     881             :   YYSYMBOL_schema_stmt = 568,              /* schema_stmt  */
     882             :   YYSYMBOL_VariableSetStmt = 569,          /* VariableSetStmt  */
     883             :   YYSYMBOL_set_rest = 570,                 /* set_rest  */
     884             :   YYSYMBOL_generic_set = 571,              /* generic_set  */
     885             :   YYSYMBOL_set_rest_more = 572,            /* set_rest_more  */
     886             :   YYSYMBOL_var_name = 573,                 /* var_name  */
     887             :   YYSYMBOL_var_list = 574,                 /* var_list  */
     888             :   YYSYMBOL_var_value = 575,                /* var_value  */
     889             :   YYSYMBOL_iso_level = 576,                /* iso_level  */
     890             :   YYSYMBOL_opt_boolean_or_string = 577,    /* opt_boolean_or_string  */
     891             :   YYSYMBOL_zone_value = 578,               /* zone_value  */
     892             :   YYSYMBOL_opt_encoding = 579,             /* opt_encoding  */
     893             :   YYSYMBOL_NonReservedWord_or_Sconst = 580, /* NonReservedWord_or_Sconst  */
     894             :   YYSYMBOL_VariableResetStmt = 581,        /* VariableResetStmt  */
     895             :   YYSYMBOL_reset_rest = 582,               /* reset_rest  */
     896             :   YYSYMBOL_generic_reset = 583,            /* generic_reset  */
     897             :   YYSYMBOL_SetResetClause = 584,           /* SetResetClause  */
     898             :   YYSYMBOL_FunctionSetResetClause = 585,   /* FunctionSetResetClause  */
     899             :   YYSYMBOL_VariableShowStmt = 586,         /* VariableShowStmt  */
     900             :   YYSYMBOL_ConstraintsSetStmt = 587,       /* ConstraintsSetStmt  */
     901             :   YYSYMBOL_constraints_set_list = 588,     /* constraints_set_list  */
     902             :   YYSYMBOL_constraints_set_mode = 589,     /* constraints_set_mode  */
     903             :   YYSYMBOL_CheckPointStmt = 590,           /* CheckPointStmt  */
     904             :   YYSYMBOL_DiscardStmt = 591,              /* DiscardStmt  */
     905             :   YYSYMBOL_AlterTableStmt = 592,           /* AlterTableStmt  */
     906             :   YYSYMBOL_alter_table_cmds = 593,         /* alter_table_cmds  */
     907             :   YYSYMBOL_partition_cmd = 594,            /* partition_cmd  */
     908             :   YYSYMBOL_index_partition_cmd = 595,      /* index_partition_cmd  */
     909             :   YYSYMBOL_alter_table_cmd = 596,          /* alter_table_cmd  */
     910             :   YYSYMBOL_alter_column_default = 597,     /* alter_column_default  */
     911             :   YYSYMBOL_opt_collate_clause = 598,       /* opt_collate_clause  */
     912             :   YYSYMBOL_alter_using = 599,              /* alter_using  */
     913             :   YYSYMBOL_replica_identity = 600,         /* replica_identity  */
     914             :   YYSYMBOL_reloptions = 601,               /* reloptions  */
     915             :   YYSYMBOL_opt_reloptions = 602,           /* opt_reloptions  */
     916             :   YYSYMBOL_reloption_list = 603,           /* reloption_list  */
     917             :   YYSYMBOL_reloption_elem = 604,           /* reloption_elem  */
     918             :   YYSYMBOL_alter_identity_column_option_list = 605, /* alter_identity_column_option_list  */
     919             :   YYSYMBOL_alter_identity_column_option = 606, /* alter_identity_column_option  */
     920             :   YYSYMBOL_set_statistics_value = 607,     /* set_statistics_value  */
     921             :   YYSYMBOL_set_access_method_name = 608,   /* set_access_method_name  */
     922             :   YYSYMBOL_PartitionBoundSpec = 609,       /* PartitionBoundSpec  */
     923             :   YYSYMBOL_hash_partbound_elem = 610,      /* hash_partbound_elem  */
     924             :   YYSYMBOL_hash_partbound = 611,           /* hash_partbound  */
     925             :   YYSYMBOL_AlterCompositeTypeStmt = 612,   /* AlterCompositeTypeStmt  */
     926             :   YYSYMBOL_alter_type_cmds = 613,          /* alter_type_cmds  */
     927             :   YYSYMBOL_alter_type_cmd = 614,           /* alter_type_cmd  */
     928             :   YYSYMBOL_ClosePortalStmt = 615,          /* ClosePortalStmt  */
     929             :   YYSYMBOL_CopyStmt = 616,                 /* CopyStmt  */
     930             :   YYSYMBOL_copy_from = 617,                /* copy_from  */
     931             :   YYSYMBOL_opt_program = 618,              /* opt_program  */
     932             :   YYSYMBOL_copy_file_name = 619,           /* copy_file_name  */
     933             :   YYSYMBOL_copy_options = 620,             /* copy_options  */
     934             :   YYSYMBOL_copy_opt_list = 621,            /* copy_opt_list  */
     935             :   YYSYMBOL_copy_opt_item = 622,            /* copy_opt_item  */
     936             :   YYSYMBOL_opt_binary = 623,               /* opt_binary  */
     937             :   YYSYMBOL_copy_delimiter = 624,           /* copy_delimiter  */
     938             :   YYSYMBOL_opt_using = 625,                /* opt_using  */
     939             :   YYSYMBOL_copy_generic_opt_list = 626,    /* copy_generic_opt_list  */
     940             :   YYSYMBOL_copy_generic_opt_elem = 627,    /* copy_generic_opt_elem  */
     941             :   YYSYMBOL_copy_generic_opt_arg = 628,     /* copy_generic_opt_arg  */
     942             :   YYSYMBOL_copy_generic_opt_arg_list = 629, /* copy_generic_opt_arg_list  */
     943             :   YYSYMBOL_copy_generic_opt_arg_list_item = 630, /* copy_generic_opt_arg_list_item  */
     944             :   YYSYMBOL_CreateStmt = 631,               /* CreateStmt  */
     945             :   YYSYMBOL_OptTemp = 632,                  /* OptTemp  */
     946             :   YYSYMBOL_OptTableElementList = 633,      /* OptTableElementList  */
     947             :   YYSYMBOL_OptTypedTableElementList = 634, /* OptTypedTableElementList  */
     948             :   YYSYMBOL_TableElementList = 635,         /* TableElementList  */
     949             :   YYSYMBOL_TypedTableElementList = 636,    /* TypedTableElementList  */
     950             :   YYSYMBOL_TableElement = 637,             /* TableElement  */
     951             :   YYSYMBOL_TypedTableElement = 638,        /* TypedTableElement  */
     952             :   YYSYMBOL_columnDef = 639,                /* columnDef  */
     953             :   YYSYMBOL_columnOptions = 640,            /* columnOptions  */
     954             :   YYSYMBOL_column_compression = 641,       /* column_compression  */
     955             :   YYSYMBOL_opt_column_compression = 642,   /* opt_column_compression  */
     956             :   YYSYMBOL_column_storage = 643,           /* column_storage  */
     957             :   YYSYMBOL_opt_column_storage = 644,       /* opt_column_storage  */
     958             :   YYSYMBOL_ColQualList = 645,              /* ColQualList  */
     959             :   YYSYMBOL_ColConstraint = 646,            /* ColConstraint  */
     960             :   YYSYMBOL_ColConstraintElem = 647,        /* ColConstraintElem  */
     961             :   YYSYMBOL_opt_unique_null_treatment = 648, /* opt_unique_null_treatment  */
     962             :   YYSYMBOL_generated_when = 649,           /* generated_when  */
     963             :   YYSYMBOL_opt_virtual_or_stored = 650,    /* opt_virtual_or_stored  */
     964             :   YYSYMBOL_ConstraintAttr = 651,           /* ConstraintAttr  */
     965             :   YYSYMBOL_TableLikeClause = 652,          /* TableLikeClause  */
     966             :   YYSYMBOL_TableLikeOptionList = 653,      /* TableLikeOptionList  */
     967             :   YYSYMBOL_TableLikeOption = 654,          /* TableLikeOption  */
     968             :   YYSYMBOL_TableConstraint = 655,          /* TableConstraint  */
     969             :   YYSYMBOL_ConstraintElem = 656,           /* ConstraintElem  */
     970             :   YYSYMBOL_DomainConstraint = 657,         /* DomainConstraint  */
     971             :   YYSYMBOL_DomainConstraintElem = 658,     /* DomainConstraintElem  */
     972             :   YYSYMBOL_opt_no_inherit = 659,           /* opt_no_inherit  */
     973             :   YYSYMBOL_opt_without_overlaps = 660,     /* opt_without_overlaps  */
     974             :   YYSYMBOL_opt_column_list = 661,          /* opt_column_list  */
     975             :   YYSYMBOL_columnList = 662,               /* columnList  */
     976             :   YYSYMBOL_optionalPeriodName = 663,       /* optionalPeriodName  */
     977             :   YYSYMBOL_opt_column_and_period_list = 664, /* opt_column_and_period_list  */
     978             :   YYSYMBOL_columnElem = 665,               /* columnElem  */
     979             :   YYSYMBOL_opt_c_include = 666,            /* opt_c_include  */
     980             :   YYSYMBOL_key_match = 667,                /* key_match  */
     981             :   YYSYMBOL_ExclusionConstraintList = 668,  /* ExclusionConstraintList  */
     982             :   YYSYMBOL_ExclusionConstraintElem = 669,  /* ExclusionConstraintElem  */
     983             :   YYSYMBOL_OptWhereClause = 670,           /* OptWhereClause  */
     984             :   YYSYMBOL_key_actions = 671,              /* key_actions  */
     985             :   YYSYMBOL_key_update = 672,               /* key_update  */
     986             :   YYSYMBOL_key_delete = 673,               /* key_delete  */
     987             :   YYSYMBOL_key_action = 674,               /* key_action  */
     988             :   YYSYMBOL_OptInherit = 675,               /* OptInherit  */
     989             :   YYSYMBOL_OptPartitionSpec = 676,         /* OptPartitionSpec  */
     990             :   YYSYMBOL_PartitionSpec = 677,            /* PartitionSpec  */
     991             :   YYSYMBOL_part_params = 678,              /* part_params  */
     992             :   YYSYMBOL_part_elem = 679,                /* part_elem  */
     993             :   YYSYMBOL_table_access_method_clause = 680, /* table_access_method_clause  */
     994             :   YYSYMBOL_OptWith = 681,                  /* OptWith  */
     995             :   YYSYMBOL_OnCommitOption = 682,           /* OnCommitOption  */
     996             :   YYSYMBOL_OptTableSpace = 683,            /* OptTableSpace  */
     997             :   YYSYMBOL_OptConsTableSpace = 684,        /* OptConsTableSpace  */
     998             :   YYSYMBOL_ExistingIndex = 685,            /* ExistingIndex  */
     999             :   YYSYMBOL_CreateStatsStmt = 686,          /* CreateStatsStmt  */
    1000             :   YYSYMBOL_stats_params = 687,             /* stats_params  */
    1001             :   YYSYMBOL_stats_param = 688,              /* stats_param  */
    1002             :   YYSYMBOL_AlterStatsStmt = 689,           /* AlterStatsStmt  */
    1003             :   YYSYMBOL_CreateAsStmt = 690,             /* CreateAsStmt  */
    1004             :   YYSYMBOL_create_as_target = 691,         /* create_as_target  */
    1005             :   YYSYMBOL_opt_with_data = 692,            /* opt_with_data  */
    1006             :   YYSYMBOL_CreateMatViewStmt = 693,        /* CreateMatViewStmt  */
    1007             :   YYSYMBOL_create_mv_target = 694,         /* create_mv_target  */
    1008             :   YYSYMBOL_OptNoLog = 695,                 /* OptNoLog  */
    1009             :   YYSYMBOL_RefreshMatViewStmt = 696,       /* RefreshMatViewStmt  */
    1010             :   YYSYMBOL_CreateSeqStmt = 697,            /* CreateSeqStmt  */
    1011             :   YYSYMBOL_AlterSeqStmt = 698,             /* AlterSeqStmt  */
    1012             :   YYSYMBOL_OptSeqOptList = 699,            /* OptSeqOptList  */
    1013             :   YYSYMBOL_OptParenthesizedSeqOptList = 700, /* OptParenthesizedSeqOptList  */
    1014             :   YYSYMBOL_SeqOptList = 701,               /* SeqOptList  */
    1015             :   YYSYMBOL_SeqOptElem = 702,               /* SeqOptElem  */
    1016             :   YYSYMBOL_opt_by = 703,                   /* opt_by  */
    1017             :   YYSYMBOL_NumericOnly = 704,              /* NumericOnly  */
    1018             :   YYSYMBOL_NumericOnly_list = 705,         /* NumericOnly_list  */
    1019             :   YYSYMBOL_CreatePLangStmt = 706,          /* CreatePLangStmt  */
    1020             :   YYSYMBOL_opt_trusted = 707,              /* opt_trusted  */
    1021             :   YYSYMBOL_handler_name = 708,             /* handler_name  */
    1022             :   YYSYMBOL_opt_inline_handler = 709,       /* opt_inline_handler  */
    1023             :   YYSYMBOL_validator_clause = 710,         /* validator_clause  */
    1024             :   YYSYMBOL_opt_validator = 711,            /* opt_validator  */
    1025             :   YYSYMBOL_opt_procedural = 712,           /* opt_procedural  */
    1026             :   YYSYMBOL_CreateTableSpaceStmt = 713,     /* CreateTableSpaceStmt  */
    1027             :   YYSYMBOL_OptTableSpaceOwner = 714,       /* OptTableSpaceOwner  */
    1028             :   YYSYMBOL_DropTableSpaceStmt = 715,       /* DropTableSpaceStmt  */
    1029             :   YYSYMBOL_CreateExtensionStmt = 716,      /* CreateExtensionStmt  */
    1030             :   YYSYMBOL_create_extension_opt_list = 717, /* create_extension_opt_list  */
    1031             :   YYSYMBOL_create_extension_opt_item = 718, /* create_extension_opt_item  */
    1032             :   YYSYMBOL_AlterExtensionStmt = 719,       /* AlterExtensionStmt  */
    1033             :   YYSYMBOL_alter_extension_opt_list = 720, /* alter_extension_opt_list  */
    1034             :   YYSYMBOL_alter_extension_opt_item = 721, /* alter_extension_opt_item  */
    1035             :   YYSYMBOL_AlterExtensionContentsStmt = 722, /* AlterExtensionContentsStmt  */
    1036             :   YYSYMBOL_CreateFdwStmt = 723,            /* CreateFdwStmt  */
    1037             :   YYSYMBOL_fdw_option = 724,               /* fdw_option  */
    1038             :   YYSYMBOL_fdw_options = 725,              /* fdw_options  */
    1039             :   YYSYMBOL_opt_fdw_options = 726,          /* opt_fdw_options  */
    1040             :   YYSYMBOL_AlterFdwStmt = 727,             /* AlterFdwStmt  */
    1041             :   YYSYMBOL_create_generic_options = 728,   /* create_generic_options  */
    1042             :   YYSYMBOL_generic_option_list = 729,      /* generic_option_list  */
    1043             :   YYSYMBOL_alter_generic_options = 730,    /* alter_generic_options  */
    1044             :   YYSYMBOL_alter_generic_option_list = 731, /* alter_generic_option_list  */
    1045             :   YYSYMBOL_alter_generic_option_elem = 732, /* alter_generic_option_elem  */
    1046             :   YYSYMBOL_generic_option_elem = 733,      /* generic_option_elem  */
    1047             :   YYSYMBOL_generic_option_name = 734,      /* generic_option_name  */
    1048             :   YYSYMBOL_generic_option_arg = 735,       /* generic_option_arg  */
    1049             :   YYSYMBOL_CreateForeignServerStmt = 736,  /* CreateForeignServerStmt  */
    1050             :   YYSYMBOL_opt_type = 737,                 /* opt_type  */
    1051             :   YYSYMBOL_foreign_server_version = 738,   /* foreign_server_version  */
    1052             :   YYSYMBOL_opt_foreign_server_version = 739, /* opt_foreign_server_version  */
    1053             :   YYSYMBOL_AlterForeignServerStmt = 740,   /* AlterForeignServerStmt  */
    1054             :   YYSYMBOL_CreateForeignTableStmt = 741,   /* CreateForeignTableStmt  */
    1055             :   YYSYMBOL_ImportForeignSchemaStmt = 742,  /* ImportForeignSchemaStmt  */
    1056             :   YYSYMBOL_import_qualification_type = 743, /* import_qualification_type  */
    1057             :   YYSYMBOL_import_qualification = 744,     /* import_qualification  */
    1058             :   YYSYMBOL_CreateUserMappingStmt = 745,    /* CreateUserMappingStmt  */
    1059             :   YYSYMBOL_auth_ident = 746,               /* auth_ident  */
    1060             :   YYSYMBOL_DropUserMappingStmt = 747,      /* DropUserMappingStmt  */
    1061             :   YYSYMBOL_AlterUserMappingStmt = 748,     /* AlterUserMappingStmt  */
    1062             :   YYSYMBOL_CreatePolicyStmt = 749,         /* CreatePolicyStmt  */
    1063             :   YYSYMBOL_AlterPolicyStmt = 750,          /* AlterPolicyStmt  */
    1064             :   YYSYMBOL_RowSecurityOptionalExpr = 751,  /* RowSecurityOptionalExpr  */
    1065             :   YYSYMBOL_RowSecurityOptionalWithCheck = 752, /* RowSecurityOptionalWithCheck  */
    1066             :   YYSYMBOL_RowSecurityDefaultToRole = 753, /* RowSecurityDefaultToRole  */
    1067             :   YYSYMBOL_RowSecurityOptionalToRole = 754, /* RowSecurityOptionalToRole  */
    1068             :   YYSYMBOL_RowSecurityDefaultPermissive = 755, /* RowSecurityDefaultPermissive  */
    1069             :   YYSYMBOL_RowSecurityDefaultForCmd = 756, /* RowSecurityDefaultForCmd  */
    1070             :   YYSYMBOL_row_security_cmd = 757,         /* row_security_cmd  */
    1071             :   YYSYMBOL_CreateAmStmt = 758,             /* CreateAmStmt  */
    1072             :   YYSYMBOL_am_type = 759,                  /* am_type  */
    1073             :   YYSYMBOL_CreateTrigStmt = 760,           /* CreateTrigStmt  */
    1074             :   YYSYMBOL_TriggerActionTime = 761,        /* TriggerActionTime  */
    1075             :   YYSYMBOL_TriggerEvents = 762,            /* TriggerEvents  */
    1076             :   YYSYMBOL_TriggerOneEvent = 763,          /* TriggerOneEvent  */
    1077             :   YYSYMBOL_TriggerReferencing = 764,       /* TriggerReferencing  */
    1078             :   YYSYMBOL_TriggerTransitions = 765,       /* TriggerTransitions  */
    1079             :   YYSYMBOL_TriggerTransition = 766,        /* TriggerTransition  */
    1080             :   YYSYMBOL_TransitionOldOrNew = 767,       /* TransitionOldOrNew  */
    1081             :   YYSYMBOL_TransitionRowOrTable = 768,     /* TransitionRowOrTable  */
    1082             :   YYSYMBOL_TransitionRelName = 769,        /* TransitionRelName  */
    1083             :   YYSYMBOL_TriggerForSpec = 770,           /* TriggerForSpec  */
    1084             :   YYSYMBOL_TriggerForOptEach = 771,        /* TriggerForOptEach  */
    1085             :   YYSYMBOL_TriggerForType = 772,           /* TriggerForType  */
    1086             :   YYSYMBOL_TriggerWhen = 773,              /* TriggerWhen  */
    1087             :   YYSYMBOL_FUNCTION_or_PROCEDURE = 774,    /* FUNCTION_or_PROCEDURE  */
    1088             :   YYSYMBOL_TriggerFuncArgs = 775,          /* TriggerFuncArgs  */
    1089             :   YYSYMBOL_TriggerFuncArg = 776,           /* TriggerFuncArg  */
    1090             :   YYSYMBOL_OptConstrFromTable = 777,       /* OptConstrFromTable  */
    1091             :   YYSYMBOL_ConstraintAttributeSpec = 778,  /* ConstraintAttributeSpec  */
    1092             :   YYSYMBOL_ConstraintAttributeElem = 779,  /* ConstraintAttributeElem  */
    1093             :   YYSYMBOL_CreateEventTrigStmt = 780,      /* CreateEventTrigStmt  */
    1094             :   YYSYMBOL_event_trigger_when_list = 781,  /* event_trigger_when_list  */
    1095             :   YYSYMBOL_event_trigger_when_item = 782,  /* event_trigger_when_item  */
    1096             :   YYSYMBOL_event_trigger_value_list = 783, /* event_trigger_value_list  */
    1097             :   YYSYMBOL_AlterEventTrigStmt = 784,       /* AlterEventTrigStmt  */
    1098             :   YYSYMBOL_enable_trigger = 785,           /* enable_trigger  */
    1099             :   YYSYMBOL_CreateAssertionStmt = 786,      /* CreateAssertionStmt  */
    1100             :   YYSYMBOL_DefineStmt = 787,               /* DefineStmt  */
    1101             :   YYSYMBOL_definition = 788,               /* definition  */
    1102             :   YYSYMBOL_def_list = 789,                 /* def_list  */
    1103             :   YYSYMBOL_def_elem = 790,                 /* def_elem  */
    1104             :   YYSYMBOL_def_arg = 791,                  /* def_arg  */
    1105             :   YYSYMBOL_old_aggr_definition = 792,      /* old_aggr_definition  */
    1106             :   YYSYMBOL_old_aggr_list = 793,            /* old_aggr_list  */
    1107             :   YYSYMBOL_old_aggr_elem = 794,            /* old_aggr_elem  */
    1108             :   YYSYMBOL_opt_enum_val_list = 795,        /* opt_enum_val_list  */
    1109             :   YYSYMBOL_enum_val_list = 796,            /* enum_val_list  */
    1110             :   YYSYMBOL_AlterEnumStmt = 797,            /* AlterEnumStmt  */
    1111             :   YYSYMBOL_opt_if_not_exists = 798,        /* opt_if_not_exists  */
    1112             :   YYSYMBOL_CreateOpClassStmt = 799,        /* CreateOpClassStmt  */
    1113             :   YYSYMBOL_opclass_item_list = 800,        /* opclass_item_list  */
    1114             :   YYSYMBOL_opclass_item = 801,             /* opclass_item  */
    1115             :   YYSYMBOL_opt_default = 802,              /* opt_default  */
    1116             :   YYSYMBOL_opt_opfamily = 803,             /* opt_opfamily  */
    1117             :   YYSYMBOL_opclass_purpose = 804,          /* opclass_purpose  */
    1118             :   YYSYMBOL_CreateOpFamilyStmt = 805,       /* CreateOpFamilyStmt  */
    1119             :   YYSYMBOL_AlterOpFamilyStmt = 806,        /* AlterOpFamilyStmt  */
    1120             :   YYSYMBOL_opclass_drop_list = 807,        /* opclass_drop_list  */
    1121             :   YYSYMBOL_opclass_drop = 808,             /* opclass_drop  */
    1122             :   YYSYMBOL_DropOpClassStmt = 809,          /* DropOpClassStmt  */
    1123             :   YYSYMBOL_DropOpFamilyStmt = 810,         /* DropOpFamilyStmt  */
    1124             :   YYSYMBOL_DropOwnedStmt = 811,            /* DropOwnedStmt  */
    1125             :   YYSYMBOL_ReassignOwnedStmt = 812,        /* ReassignOwnedStmt  */
    1126             :   YYSYMBOL_DropStmt = 813,                 /* DropStmt  */
    1127             :   YYSYMBOL_object_type_any_name = 814,     /* object_type_any_name  */
    1128             :   YYSYMBOL_object_type_name = 815,         /* object_type_name  */
    1129             :   YYSYMBOL_drop_type_name = 816,           /* drop_type_name  */
    1130             :   YYSYMBOL_object_type_name_on_any_name = 817, /* object_type_name_on_any_name  */
    1131             :   YYSYMBOL_any_name_list = 818,            /* any_name_list  */
    1132             :   YYSYMBOL_any_name = 819,                 /* any_name  */
    1133             :   YYSYMBOL_attrs = 820,                    /* attrs  */
    1134             :   YYSYMBOL_type_name_list = 821,           /* type_name_list  */
    1135             :   YYSYMBOL_TruncateStmt = 822,             /* TruncateStmt  */
    1136             :   YYSYMBOL_opt_restart_seqs = 823,         /* opt_restart_seqs  */
    1137             :   YYSYMBOL_CommentStmt = 824,              /* CommentStmt  */
    1138             :   YYSYMBOL_comment_text = 825,             /* comment_text  */
    1139             :   YYSYMBOL_SecLabelStmt = 826,             /* SecLabelStmt  */
    1140             :   YYSYMBOL_opt_provider = 827,             /* opt_provider  */
    1141             :   YYSYMBOL_security_label = 828,           /* security_label  */
    1142             :   YYSYMBOL_FetchStmt = 829,                /* FetchStmt  */
    1143             :   YYSYMBOL_fetch_args = 830,               /* fetch_args  */
    1144             :   YYSYMBOL_from_in = 831,                  /* from_in  */
    1145             :   YYSYMBOL_opt_from_in = 832,              /* opt_from_in  */
    1146             :   YYSYMBOL_GrantStmt = 833,                /* GrantStmt  */
    1147             :   YYSYMBOL_RevokeStmt = 834,               /* RevokeStmt  */
    1148             :   YYSYMBOL_privileges = 835,               /* privileges  */
    1149             :   YYSYMBOL_privilege_list = 836,           /* privilege_list  */
    1150             :   YYSYMBOL_privilege = 837,                /* privilege  */
    1151             :   YYSYMBOL_parameter_name_list = 838,      /* parameter_name_list  */
    1152             :   YYSYMBOL_parameter_name = 839,           /* parameter_name  */
    1153             :   YYSYMBOL_privilege_target = 840,         /* privilege_target  */
    1154             :   YYSYMBOL_grantee_list = 841,             /* grantee_list  */
    1155             :   YYSYMBOL_grantee = 842,                  /* grantee  */
    1156             :   YYSYMBOL_opt_grant_grant_option = 843,   /* opt_grant_grant_option  */
    1157             :   YYSYMBOL_GrantRoleStmt = 844,            /* GrantRoleStmt  */
    1158             :   YYSYMBOL_RevokeRoleStmt = 845,           /* RevokeRoleStmt  */
    1159             :   YYSYMBOL_grant_role_opt_list = 846,      /* grant_role_opt_list  */
    1160             :   YYSYMBOL_grant_role_opt = 847,           /* grant_role_opt  */
    1161             :   YYSYMBOL_grant_role_opt_value = 848,     /* grant_role_opt_value  */
    1162             :   YYSYMBOL_opt_granted_by = 849,           /* opt_granted_by  */
    1163             :   YYSYMBOL_AlterDefaultPrivilegesStmt = 850, /* AlterDefaultPrivilegesStmt  */
    1164             :   YYSYMBOL_DefACLOptionList = 851,         /* DefACLOptionList  */
    1165             :   YYSYMBOL_DefACLOption = 852,             /* DefACLOption  */
    1166             :   YYSYMBOL_DefACLAction = 853,             /* DefACLAction  */
    1167             :   YYSYMBOL_defacl_privilege_target = 854,  /* defacl_privilege_target  */
    1168             :   YYSYMBOL_IndexStmt = 855,                /* IndexStmt  */
    1169             :   YYSYMBOL_opt_unique = 856,               /* opt_unique  */
    1170             :   YYSYMBOL_access_method_clause = 857,     /* access_method_clause  */
    1171             :   YYSYMBOL_index_params = 858,             /* index_params  */
    1172             :   YYSYMBOL_index_elem_options = 859,       /* index_elem_options  */
    1173             :   YYSYMBOL_index_elem = 860,               /* index_elem  */
    1174             :   YYSYMBOL_opt_include = 861,              /* opt_include  */
    1175             :   YYSYMBOL_index_including_params = 862,   /* index_including_params  */
    1176             :   YYSYMBOL_opt_collate = 863,              /* opt_collate  */
    1177             :   YYSYMBOL_opt_asc_desc = 864,             /* opt_asc_desc  */
    1178             :   YYSYMBOL_opt_nulls_order = 865,          /* opt_nulls_order  */
    1179             :   YYSYMBOL_CreateFunctionStmt = 866,       /* CreateFunctionStmt  */
    1180             :   YYSYMBOL_opt_or_replace = 867,           /* opt_or_replace  */
    1181             :   YYSYMBOL_func_args = 868,                /* func_args  */
    1182             :   YYSYMBOL_func_args_list = 869,           /* func_args_list  */
    1183             :   YYSYMBOL_function_with_argtypes_list = 870, /* function_with_argtypes_list  */
    1184             :   YYSYMBOL_function_with_argtypes = 871,   /* function_with_argtypes  */
    1185             :   YYSYMBOL_func_args_with_defaults = 872,  /* func_args_with_defaults  */
    1186             :   YYSYMBOL_func_args_with_defaults_list = 873, /* func_args_with_defaults_list  */
    1187             :   YYSYMBOL_func_arg = 874,                 /* func_arg  */
    1188             :   YYSYMBOL_arg_class = 875,                /* arg_class  */
    1189             :   YYSYMBOL_param_name = 876,               /* param_name  */
    1190             :   YYSYMBOL_func_return = 877,              /* func_return  */
    1191             :   YYSYMBOL_func_type = 878,                /* func_type  */
    1192             :   YYSYMBOL_func_arg_with_default = 879,    /* func_arg_with_default  */
    1193             :   YYSYMBOL_aggr_arg = 880,                 /* aggr_arg  */
    1194             :   YYSYMBOL_aggr_args = 881,                /* aggr_args  */
    1195             :   YYSYMBOL_aggr_args_list = 882,           /* aggr_args_list  */
    1196             :   YYSYMBOL_aggregate_with_argtypes = 883,  /* aggregate_with_argtypes  */
    1197             :   YYSYMBOL_aggregate_with_argtypes_list = 884, /* aggregate_with_argtypes_list  */
    1198             :   YYSYMBOL_opt_createfunc_opt_list = 885,  /* opt_createfunc_opt_list  */
    1199             :   YYSYMBOL_createfunc_opt_list = 886,      /* createfunc_opt_list  */
    1200             :   YYSYMBOL_common_func_opt_item = 887,     /* common_func_opt_item  */
    1201             :   YYSYMBOL_createfunc_opt_item = 888,      /* createfunc_opt_item  */
    1202             :   YYSYMBOL_func_as = 889,                  /* func_as  */
    1203             :   YYSYMBOL_ReturnStmt = 890,               /* ReturnStmt  */
    1204             :   YYSYMBOL_opt_routine_body = 891,         /* opt_routine_body  */
    1205             :   YYSYMBOL_routine_body_stmt_list = 892,   /* routine_body_stmt_list  */
    1206             :   YYSYMBOL_routine_body_stmt = 893,        /* routine_body_stmt  */
    1207             :   YYSYMBOL_transform_type_list = 894,      /* transform_type_list  */
    1208             :   YYSYMBOL_opt_definition = 895,           /* opt_definition  */
    1209             :   YYSYMBOL_table_func_column = 896,        /* table_func_column  */
    1210             :   YYSYMBOL_table_func_column_list = 897,   /* table_func_column_list  */
    1211             :   YYSYMBOL_AlterFunctionStmt = 898,        /* AlterFunctionStmt  */
    1212             :   YYSYMBOL_alterfunc_opt_list = 899,       /* alterfunc_opt_list  */
    1213             :   YYSYMBOL_opt_restrict = 900,             /* opt_restrict  */
    1214             :   YYSYMBOL_RemoveFuncStmt = 901,           /* RemoveFuncStmt  */
    1215             :   YYSYMBOL_RemoveAggrStmt = 902,           /* RemoveAggrStmt  */
    1216             :   YYSYMBOL_RemoveOperStmt = 903,           /* RemoveOperStmt  */
    1217             :   YYSYMBOL_oper_argtypes = 904,            /* oper_argtypes  */
    1218             :   YYSYMBOL_any_operator = 905,             /* any_operator  */
    1219             :   YYSYMBOL_operator_with_argtypes_list = 906, /* operator_with_argtypes_list  */
    1220             :   YYSYMBOL_operator_with_argtypes = 907,   /* operator_with_argtypes  */
    1221             :   YYSYMBOL_DoStmt = 908,                   /* DoStmt  */
    1222             :   YYSYMBOL_dostmt_opt_list = 909,          /* dostmt_opt_list  */
    1223             :   YYSYMBOL_dostmt_opt_item = 910,          /* dostmt_opt_item  */
    1224             :   YYSYMBOL_CreateCastStmt = 911,           /* CreateCastStmt  */
    1225             :   YYSYMBOL_cast_context = 912,             /* cast_context  */
    1226             :   YYSYMBOL_DropCastStmt = 913,             /* DropCastStmt  */
    1227             :   YYSYMBOL_opt_if_exists = 914,            /* opt_if_exists  */
    1228             :   YYSYMBOL_CreateTransformStmt = 915,      /* CreateTransformStmt  */
    1229             :   YYSYMBOL_transform_element_list = 916,   /* transform_element_list  */
    1230             :   YYSYMBOL_DropTransformStmt = 917,        /* DropTransformStmt  */
    1231             :   YYSYMBOL_ReindexStmt = 918,              /* ReindexStmt  */
    1232             :   YYSYMBOL_reindex_target_relation = 919,  /* reindex_target_relation  */
    1233             :   YYSYMBOL_reindex_target_all = 920,       /* reindex_target_all  */
    1234             :   YYSYMBOL_opt_reindex_option_list = 921,  /* opt_reindex_option_list  */
    1235             :   YYSYMBOL_AlterTblSpcStmt = 922,          /* AlterTblSpcStmt  */
    1236             :   YYSYMBOL_RenameStmt = 923,               /* RenameStmt  */
    1237             :   YYSYMBOL_opt_column = 924,               /* opt_column  */
    1238             :   YYSYMBOL_opt_set_data = 925,             /* opt_set_data  */
    1239             :   YYSYMBOL_AlterObjectDependsStmt = 926,   /* AlterObjectDependsStmt  */
    1240             :   YYSYMBOL_opt_no = 927,                   /* opt_no  */
    1241             :   YYSYMBOL_AlterObjectSchemaStmt = 928,    /* AlterObjectSchemaStmt  */
    1242             :   YYSYMBOL_AlterOperatorStmt = 929,        /* AlterOperatorStmt  */
    1243             :   YYSYMBOL_operator_def_list = 930,        /* operator_def_list  */
    1244             :   YYSYMBOL_operator_def_elem = 931,        /* operator_def_elem  */
    1245             :   YYSYMBOL_operator_def_arg = 932,         /* operator_def_arg  */
    1246             :   YYSYMBOL_AlterTypeStmt = 933,            /* AlterTypeStmt  */
    1247             :   YYSYMBOL_AlterOwnerStmt = 934,           /* AlterOwnerStmt  */
    1248             :   YYSYMBOL_CreatePublicationStmt = 935,    /* CreatePublicationStmt  */
    1249             :   YYSYMBOL_PublicationObjSpec = 936,       /* PublicationObjSpec  */
    1250             :   YYSYMBOL_pub_obj_list = 937,             /* pub_obj_list  */
    1251             :   YYSYMBOL_AlterPublicationStmt = 938,     /* AlterPublicationStmt  */
    1252             :   YYSYMBOL_CreateSubscriptionStmt = 939,   /* CreateSubscriptionStmt  */
    1253             :   YYSYMBOL_AlterSubscriptionStmt = 940,    /* AlterSubscriptionStmt  */
    1254             :   YYSYMBOL_DropSubscriptionStmt = 941,     /* DropSubscriptionStmt  */
    1255             :   YYSYMBOL_RuleStmt = 942,                 /* RuleStmt  */
    1256             :   YYSYMBOL_RuleActionList = 943,           /* RuleActionList  */
    1257             :   YYSYMBOL_RuleActionMulti = 944,          /* RuleActionMulti  */
    1258             :   YYSYMBOL_RuleActionStmt = 945,           /* RuleActionStmt  */
    1259             :   YYSYMBOL_RuleActionStmtOrEmpty = 946,    /* RuleActionStmtOrEmpty  */
    1260             :   YYSYMBOL_event = 947,                    /* event  */
    1261             :   YYSYMBOL_opt_instead = 948,              /* opt_instead  */
    1262             :   YYSYMBOL_NotifyStmt = 949,               /* NotifyStmt  */
    1263             :   YYSYMBOL_notify_payload = 950,           /* notify_payload  */
    1264             :   YYSYMBOL_ListenStmt = 951,               /* ListenStmt  */
    1265             :   YYSYMBOL_UnlistenStmt = 952,             /* UnlistenStmt  */
    1266             :   YYSYMBOL_TransactionStmt = 953,          /* TransactionStmt  */
    1267             :   YYSYMBOL_TransactionStmtLegacy = 954,    /* TransactionStmtLegacy  */
    1268             :   YYSYMBOL_opt_transaction = 955,          /* opt_transaction  */
    1269             :   YYSYMBOL_transaction_mode_item = 956,    /* transaction_mode_item  */
    1270             :   YYSYMBOL_transaction_mode_list = 957,    /* transaction_mode_list  */
    1271             :   YYSYMBOL_transaction_mode_list_or_empty = 958, /* transaction_mode_list_or_empty  */
    1272             :   YYSYMBOL_opt_transaction_chain = 959,    /* opt_transaction_chain  */
    1273             :   YYSYMBOL_ViewStmt = 960,                 /* ViewStmt  */
    1274             :   YYSYMBOL_opt_check_option = 961,         /* opt_check_option  */
    1275             :   YYSYMBOL_LoadStmt = 962,                 /* LoadStmt  */
    1276             :   YYSYMBOL_CreatedbStmt = 963,             /* CreatedbStmt  */
    1277             :   YYSYMBOL_createdb_opt_list = 964,        /* createdb_opt_list  */
    1278             :   YYSYMBOL_createdb_opt_items = 965,       /* createdb_opt_items  */
    1279             :   YYSYMBOL_createdb_opt_item = 966,        /* createdb_opt_item  */
    1280             :   YYSYMBOL_createdb_opt_name = 967,        /* createdb_opt_name  */
    1281             :   YYSYMBOL_opt_equal = 968,                /* opt_equal  */
    1282             :   YYSYMBOL_AlterDatabaseStmt = 969,        /* AlterDatabaseStmt  */
    1283             :   YYSYMBOL_AlterDatabaseSetStmt = 970,     /* AlterDatabaseSetStmt  */
    1284             :   YYSYMBOL_DropdbStmt = 971,               /* DropdbStmt  */
    1285             :   YYSYMBOL_drop_option_list = 972,         /* drop_option_list  */
    1286             :   YYSYMBOL_drop_option = 973,              /* drop_option  */
    1287             :   YYSYMBOL_AlterCollationStmt = 974,       /* AlterCollationStmt  */
    1288             :   YYSYMBOL_AlterSystemStmt = 975,          /* AlterSystemStmt  */
    1289             :   YYSYMBOL_CreateDomainStmt = 976,         /* CreateDomainStmt  */
    1290             :   YYSYMBOL_AlterDomainStmt = 977,          /* AlterDomainStmt  */
    1291             :   YYSYMBOL_opt_as = 978,                   /* opt_as  */
    1292             :   YYSYMBOL_AlterTSDictionaryStmt = 979,    /* AlterTSDictionaryStmt  */
    1293             :   YYSYMBOL_AlterTSConfigurationStmt = 980, /* AlterTSConfigurationStmt  */
    1294             :   YYSYMBOL_any_with = 981,                 /* any_with  */
    1295             :   YYSYMBOL_CreateConversionStmt = 982,     /* CreateConversionStmt  */
    1296             :   YYSYMBOL_ClusterStmt = 983,              /* ClusterStmt  */
    1297             :   YYSYMBOL_cluster_index_specification = 984, /* cluster_index_specification  */
    1298             :   YYSYMBOL_VacuumStmt = 985,               /* VacuumStmt  */
    1299             :   YYSYMBOL_AnalyzeStmt = 986,              /* AnalyzeStmt  */
    1300             :   YYSYMBOL_utility_option_list = 987,      /* utility_option_list  */
    1301             :   YYSYMBOL_analyze_keyword = 988,          /* analyze_keyword  */
    1302             :   YYSYMBOL_utility_option_elem = 989,      /* utility_option_elem  */
    1303             :   YYSYMBOL_utility_option_name = 990,      /* utility_option_name  */
    1304             :   YYSYMBOL_utility_option_arg = 991,       /* utility_option_arg  */
    1305             :   YYSYMBOL_opt_analyze = 992,              /* opt_analyze  */
    1306             :   YYSYMBOL_opt_verbose = 993,              /* opt_verbose  */
    1307             :   YYSYMBOL_opt_full = 994,                 /* opt_full  */
    1308             :   YYSYMBOL_opt_freeze = 995,               /* opt_freeze  */
    1309             :   YYSYMBOL_opt_name_list = 996,            /* opt_name_list  */
    1310             :   YYSYMBOL_vacuum_relation = 997,          /* vacuum_relation  */
    1311             :   YYSYMBOL_vacuum_relation_list = 998,     /* vacuum_relation_list  */
    1312             :   YYSYMBOL_opt_vacuum_relation_list = 999, /* opt_vacuum_relation_list  */
    1313             :   YYSYMBOL_ExplainStmt = 1000,             /* ExplainStmt  */
    1314             :   YYSYMBOL_ExplainableStmt = 1001,         /* ExplainableStmt  */
    1315             :   YYSYMBOL_PrepareStmt = 1002,             /* PrepareStmt  */
    1316             :   YYSYMBOL_prep_type_clause = 1003,        /* prep_type_clause  */
    1317             :   YYSYMBOL_PreparableStmt = 1004,          /* PreparableStmt  */
    1318             :   YYSYMBOL_ExecuteStmt = 1005,             /* ExecuteStmt  */
    1319             :   YYSYMBOL_execute_param_clause = 1006,    /* execute_param_clause  */
    1320             :   YYSYMBOL_DeallocateStmt = 1007,          /* DeallocateStmt  */
    1321             :   YYSYMBOL_InsertStmt = 1008,              /* InsertStmt  */
    1322             :   YYSYMBOL_insert_target = 1009,           /* insert_target  */
    1323             :   YYSYMBOL_insert_rest = 1010,             /* insert_rest  */
    1324             :   YYSYMBOL_override_kind = 1011,           /* override_kind  */
    1325             :   YYSYMBOL_insert_column_list = 1012,      /* insert_column_list  */
    1326             :   YYSYMBOL_insert_column_item = 1013,      /* insert_column_item  */
    1327             :   YYSYMBOL_opt_on_conflict = 1014,         /* opt_on_conflict  */
    1328             :   YYSYMBOL_opt_conf_expr = 1015,           /* opt_conf_expr  */
    1329             :   YYSYMBOL_returning_clause = 1016,        /* returning_clause  */
    1330             :   YYSYMBOL_returning_with_clause = 1017,   /* returning_with_clause  */
    1331             :   YYSYMBOL_returning_options = 1018,       /* returning_options  */
    1332             :   YYSYMBOL_returning_option = 1019,        /* returning_option  */
    1333             :   YYSYMBOL_returning_option_kind = 1020,   /* returning_option_kind  */
    1334             :   YYSYMBOL_DeleteStmt = 1021,              /* DeleteStmt  */
    1335             :   YYSYMBOL_using_clause = 1022,            /* using_clause  */
    1336             :   YYSYMBOL_LockStmt = 1023,                /* LockStmt  */
    1337             :   YYSYMBOL_opt_lock = 1024,                /* opt_lock  */
    1338             :   YYSYMBOL_lock_type = 1025,               /* lock_type  */
    1339             :   YYSYMBOL_opt_nowait = 1026,              /* opt_nowait  */
    1340             :   YYSYMBOL_opt_nowait_or_skip = 1027,      /* opt_nowait_or_skip  */
    1341             :   YYSYMBOL_UpdateStmt = 1028,              /* UpdateStmt  */
    1342             :   YYSYMBOL_set_clause_list = 1029,         /* set_clause_list  */
    1343             :   YYSYMBOL_set_clause = 1030,              /* set_clause  */
    1344             :   YYSYMBOL_set_target = 1031,              /* set_target  */
    1345             :   YYSYMBOL_set_target_list = 1032,         /* set_target_list  */
    1346             :   YYSYMBOL_MergeStmt = 1033,               /* MergeStmt  */
    1347             :   YYSYMBOL_merge_when_list = 1034,         /* merge_when_list  */
    1348             :   YYSYMBOL_merge_when_clause = 1035,       /* merge_when_clause  */
    1349             :   YYSYMBOL_merge_when_tgt_matched = 1036,  /* merge_when_tgt_matched  */
    1350             :   YYSYMBOL_merge_when_tgt_not_matched = 1037, /* merge_when_tgt_not_matched  */
    1351             :   YYSYMBOL_opt_merge_when_condition = 1038, /* opt_merge_when_condition  */
    1352             :   YYSYMBOL_merge_update = 1039,            /* merge_update  */
    1353             :   YYSYMBOL_merge_delete = 1040,            /* merge_delete  */
    1354             :   YYSYMBOL_merge_insert = 1041,            /* merge_insert  */
    1355             :   YYSYMBOL_merge_values_clause = 1042,     /* merge_values_clause  */
    1356             :   YYSYMBOL_DeclareCursorStmt = 1043,       /* DeclareCursorStmt  */
    1357             :   YYSYMBOL_cursor_name = 1044,             /* cursor_name  */
    1358             :   YYSYMBOL_cursor_options = 1045,          /* cursor_options  */
    1359             :   YYSYMBOL_opt_hold = 1046,                /* opt_hold  */
    1360             :   YYSYMBOL_SelectStmt = 1047,              /* SelectStmt  */
    1361             :   YYSYMBOL_select_with_parens = 1048,      /* select_with_parens  */
    1362             :   YYSYMBOL_select_no_parens = 1049,        /* select_no_parens  */
    1363             :   YYSYMBOL_select_clause = 1050,           /* select_clause  */
    1364             :   YYSYMBOL_simple_select = 1051,           /* simple_select  */
    1365             :   YYSYMBOL_with_clause = 1052,             /* with_clause  */
    1366             :   YYSYMBOL_cte_list = 1053,                /* cte_list  */
    1367             :   YYSYMBOL_common_table_expr = 1054,       /* common_table_expr  */
    1368             :   YYSYMBOL_opt_materialized = 1055,        /* opt_materialized  */
    1369             :   YYSYMBOL_opt_search_clause = 1056,       /* opt_search_clause  */
    1370             :   YYSYMBOL_opt_cycle_clause = 1057,        /* opt_cycle_clause  */
    1371             :   YYSYMBOL_opt_with_clause = 1058,         /* opt_with_clause  */
    1372             :   YYSYMBOL_into_clause = 1059,             /* into_clause  */
    1373             :   YYSYMBOL_OptTempTableName = 1060,        /* OptTempTableName  */
    1374             :   YYSYMBOL_opt_table = 1061,               /* opt_table  */
    1375             :   YYSYMBOL_set_quantifier = 1062,          /* set_quantifier  */
    1376             :   YYSYMBOL_distinct_clause = 1063,         /* distinct_clause  */
    1377             :   YYSYMBOL_opt_all_clause = 1064,          /* opt_all_clause  */
    1378             :   YYSYMBOL_opt_distinct_clause = 1065,     /* opt_distinct_clause  */
    1379             :   YYSYMBOL_opt_sort_clause = 1066,         /* opt_sort_clause  */
    1380             :   YYSYMBOL_sort_clause = 1067,             /* sort_clause  */
    1381             :   YYSYMBOL_sortby_list = 1068,             /* sortby_list  */
    1382             :   YYSYMBOL_sortby = 1069,                  /* sortby  */
    1383             :   YYSYMBOL_select_limit = 1070,            /* select_limit  */
    1384             :   YYSYMBOL_opt_select_limit = 1071,        /* opt_select_limit  */
    1385             :   YYSYMBOL_limit_clause = 1072,            /* limit_clause  */
    1386             :   YYSYMBOL_offset_clause = 1073,           /* offset_clause  */
    1387             :   YYSYMBOL_select_limit_value = 1074,      /* select_limit_value  */
    1388             :   YYSYMBOL_select_offset_value = 1075,     /* select_offset_value  */
    1389             :   YYSYMBOL_select_fetch_first_value = 1076, /* select_fetch_first_value  */
    1390             :   YYSYMBOL_I_or_F_const = 1077,            /* I_or_F_const  */
    1391             :   YYSYMBOL_row_or_rows = 1078,             /* row_or_rows  */
    1392             :   YYSYMBOL_first_or_next = 1079,           /* first_or_next  */
    1393             :   YYSYMBOL_group_clause = 1080,            /* group_clause  */
    1394             :   YYSYMBOL_group_by_list = 1081,           /* group_by_list  */
    1395             :   YYSYMBOL_group_by_item = 1082,           /* group_by_item  */
    1396             :   YYSYMBOL_empty_grouping_set = 1083,      /* empty_grouping_set  */
    1397             :   YYSYMBOL_rollup_clause = 1084,           /* rollup_clause  */
    1398             :   YYSYMBOL_cube_clause = 1085,             /* cube_clause  */
    1399             :   YYSYMBOL_grouping_sets_clause = 1086,    /* grouping_sets_clause  */
    1400             :   YYSYMBOL_having_clause = 1087,           /* having_clause  */
    1401             :   YYSYMBOL_for_locking_clause = 1088,      /* for_locking_clause  */
    1402             :   YYSYMBOL_opt_for_locking_clause = 1089,  /* opt_for_locking_clause  */
    1403             :   YYSYMBOL_for_locking_items = 1090,       /* for_locking_items  */
    1404             :   YYSYMBOL_for_locking_item = 1091,        /* for_locking_item  */
    1405             :   YYSYMBOL_for_locking_strength = 1092,    /* for_locking_strength  */
    1406             :   YYSYMBOL_locked_rels_list = 1093,        /* locked_rels_list  */
    1407             :   YYSYMBOL_values_clause = 1094,           /* values_clause  */
    1408             :   YYSYMBOL_from_clause = 1095,             /* from_clause  */
    1409             :   YYSYMBOL_from_list = 1096,               /* from_list  */
    1410             :   YYSYMBOL_table_ref = 1097,               /* table_ref  */
    1411             :   YYSYMBOL_joined_table = 1098,            /* joined_table  */
    1412             :   YYSYMBOL_alias_clause = 1099,            /* alias_clause  */
    1413             :   YYSYMBOL_opt_alias_clause = 1100,        /* opt_alias_clause  */
    1414             :   YYSYMBOL_opt_alias_clause_for_join_using = 1101, /* opt_alias_clause_for_join_using  */
    1415             :   YYSYMBOL_func_alias_clause = 1102,       /* func_alias_clause  */
    1416             :   YYSYMBOL_join_type = 1103,               /* join_type  */
    1417             :   YYSYMBOL_opt_outer = 1104,               /* opt_outer  */
    1418             :   YYSYMBOL_join_qual = 1105,               /* join_qual  */
    1419             :   YYSYMBOL_relation_expr = 1106,           /* relation_expr  */
    1420             :   YYSYMBOL_extended_relation_expr = 1107,  /* extended_relation_expr  */
    1421             :   YYSYMBOL_relation_expr_list = 1108,      /* relation_expr_list  */
    1422             :   YYSYMBOL_relation_expr_opt_alias = 1109, /* relation_expr_opt_alias  */
    1423             :   YYSYMBOL_tablesample_clause = 1110,      /* tablesample_clause  */
    1424             :   YYSYMBOL_opt_repeatable_clause = 1111,   /* opt_repeatable_clause  */
    1425             :   YYSYMBOL_func_table = 1112,              /* func_table  */
    1426             :   YYSYMBOL_rowsfrom_item = 1113,           /* rowsfrom_item  */
    1427             :   YYSYMBOL_rowsfrom_list = 1114,           /* rowsfrom_list  */
    1428             :   YYSYMBOL_opt_col_def_list = 1115,        /* opt_col_def_list  */
    1429             :   YYSYMBOL_opt_ordinality = 1116,          /* opt_ordinality  */
    1430             :   YYSYMBOL_where_clause = 1117,            /* where_clause  */
    1431             :   YYSYMBOL_where_or_current_clause = 1118, /* where_or_current_clause  */
    1432             :   YYSYMBOL_OptTableFuncElementList = 1119, /* OptTableFuncElementList  */
    1433             :   YYSYMBOL_TableFuncElementList = 1120,    /* TableFuncElementList  */
    1434             :   YYSYMBOL_TableFuncElement = 1121,        /* TableFuncElement  */
    1435             :   YYSYMBOL_xmltable = 1122,                /* xmltable  */
    1436             :   YYSYMBOL_xmltable_column_list = 1123,    /* xmltable_column_list  */
    1437             :   YYSYMBOL_xmltable_column_el = 1124,      /* xmltable_column_el  */
    1438             :   YYSYMBOL_xmltable_column_option_list = 1125, /* xmltable_column_option_list  */
    1439             :   YYSYMBOL_xmltable_column_option_el = 1126, /* xmltable_column_option_el  */
    1440             :   YYSYMBOL_xml_namespace_list = 1127,      /* xml_namespace_list  */
    1441             :   YYSYMBOL_xml_namespace_el = 1128,        /* xml_namespace_el  */
    1442             :   YYSYMBOL_json_table = 1129,              /* json_table  */
    1443             :   YYSYMBOL_json_table_path_name_opt = 1130, /* json_table_path_name_opt  */
    1444             :   YYSYMBOL_json_table_column_definition_list = 1131, /* json_table_column_definition_list  */
    1445             :   YYSYMBOL_json_table_column_definition = 1132, /* json_table_column_definition  */
    1446             :   YYSYMBOL_path_opt = 1133,                /* path_opt  */
    1447             :   YYSYMBOL_json_table_column_path_clause_opt = 1134, /* json_table_column_path_clause_opt  */
    1448             :   YYSYMBOL_Typename = 1135,                /* Typename  */
    1449             :   YYSYMBOL_opt_array_bounds = 1136,        /* opt_array_bounds  */
    1450             :   YYSYMBOL_SimpleTypename = 1137,          /* SimpleTypename  */
    1451             :   YYSYMBOL_ConstTypename = 1138,           /* ConstTypename  */
    1452             :   YYSYMBOL_GenericType = 1139,             /* GenericType  */
    1453             :   YYSYMBOL_opt_type_modifiers = 1140,      /* opt_type_modifiers  */
    1454             :   YYSYMBOL_Numeric = 1141,                 /* Numeric  */
    1455             :   YYSYMBOL_opt_float = 1142,               /* opt_float  */
    1456             :   YYSYMBOL_Bit = 1143,                     /* Bit  */
    1457             :   YYSYMBOL_ConstBit = 1144,                /* ConstBit  */
    1458             :   YYSYMBOL_BitWithLength = 1145,           /* BitWithLength  */
    1459             :   YYSYMBOL_BitWithoutLength = 1146,        /* BitWithoutLength  */
    1460             :   YYSYMBOL_Character = 1147,               /* Character  */
    1461             :   YYSYMBOL_ConstCharacter = 1148,          /* ConstCharacter  */
    1462             :   YYSYMBOL_CharacterWithLength = 1149,     /* CharacterWithLength  */
    1463             :   YYSYMBOL_CharacterWithoutLength = 1150,  /* CharacterWithoutLength  */
    1464             :   YYSYMBOL_character = 1151,               /* character  */
    1465             :   YYSYMBOL_opt_varying = 1152,             /* opt_varying  */
    1466             :   YYSYMBOL_ConstDatetime = 1153,           /* ConstDatetime  */
    1467             :   YYSYMBOL_ConstInterval = 1154,           /* ConstInterval  */
    1468             :   YYSYMBOL_opt_timezone = 1155,            /* opt_timezone  */
    1469             :   YYSYMBOL_opt_interval = 1156,            /* opt_interval  */
    1470             :   YYSYMBOL_interval_second = 1157,         /* interval_second  */
    1471             :   YYSYMBOL_JsonType = 1158,                /* JsonType  */
    1472             :   YYSYMBOL_a_expr = 1159,                  /* a_expr  */
    1473             :   YYSYMBOL_b_expr = 1160,                  /* b_expr  */
    1474             :   YYSYMBOL_c_expr = 1161,                  /* c_expr  */
    1475             :   YYSYMBOL_func_application = 1162,        /* func_application  */
    1476             :   YYSYMBOL_func_expr = 1163,               /* func_expr  */
    1477             :   YYSYMBOL_func_expr_windowless = 1164,    /* func_expr_windowless  */
    1478             :   YYSYMBOL_func_expr_common_subexpr = 1165, /* func_expr_common_subexpr  */
    1479             :   YYSYMBOL_xml_root_version = 1166,        /* xml_root_version  */
    1480             :   YYSYMBOL_opt_xml_root_standalone = 1167, /* opt_xml_root_standalone  */
    1481             :   YYSYMBOL_xml_attributes = 1168,          /* xml_attributes  */
    1482             :   YYSYMBOL_xml_attribute_list = 1169,      /* xml_attribute_list  */
    1483             :   YYSYMBOL_xml_attribute_el = 1170,        /* xml_attribute_el  */
    1484             :   YYSYMBOL_document_or_content = 1171,     /* document_or_content  */
    1485             :   YYSYMBOL_xml_indent_option = 1172,       /* xml_indent_option  */
    1486             :   YYSYMBOL_xml_whitespace_option = 1173,   /* xml_whitespace_option  */
    1487             :   YYSYMBOL_xmlexists_argument = 1174,      /* xmlexists_argument  */
    1488             :   YYSYMBOL_xml_passing_mech = 1175,        /* xml_passing_mech  */
    1489             :   YYSYMBOL_within_group_clause = 1176,     /* within_group_clause  */
    1490             :   YYSYMBOL_filter_clause = 1177,           /* filter_clause  */
    1491             :   YYSYMBOL_window_clause = 1178,           /* window_clause  */
    1492             :   YYSYMBOL_window_definition_list = 1179,  /* window_definition_list  */
    1493             :   YYSYMBOL_window_definition = 1180,       /* window_definition  */
    1494             :   YYSYMBOL_over_clause = 1181,             /* over_clause  */
    1495             :   YYSYMBOL_window_specification = 1182,    /* window_specification  */
    1496             :   YYSYMBOL_opt_existing_window_name = 1183, /* opt_existing_window_name  */
    1497             :   YYSYMBOL_opt_partition_clause = 1184,    /* opt_partition_clause  */
    1498             :   YYSYMBOL_opt_frame_clause = 1185,        /* opt_frame_clause  */
    1499             :   YYSYMBOL_frame_extent = 1186,            /* frame_extent  */
    1500             :   YYSYMBOL_frame_bound = 1187,             /* frame_bound  */
    1501             :   YYSYMBOL_opt_window_exclusion_clause = 1188, /* opt_window_exclusion_clause  */
    1502             :   YYSYMBOL_row = 1189,                     /* row  */
    1503             :   YYSYMBOL_explicit_row = 1190,            /* explicit_row  */
    1504             :   YYSYMBOL_implicit_row = 1191,            /* implicit_row  */
    1505             :   YYSYMBOL_sub_type = 1192,                /* sub_type  */
    1506             :   YYSYMBOL_all_Op = 1193,                  /* all_Op  */
    1507             :   YYSYMBOL_MathOp = 1194,                  /* MathOp  */
    1508             :   YYSYMBOL_qual_Op = 1195,                 /* qual_Op  */
    1509             :   YYSYMBOL_qual_all_Op = 1196,             /* qual_all_Op  */
    1510             :   YYSYMBOL_subquery_Op = 1197,             /* subquery_Op  */
    1511             :   YYSYMBOL_expr_list = 1198,               /* expr_list  */
    1512             :   YYSYMBOL_func_arg_list = 1199,           /* func_arg_list  */
    1513             :   YYSYMBOL_func_arg_expr = 1200,           /* func_arg_expr  */
    1514             :   YYSYMBOL_func_arg_list_opt = 1201,       /* func_arg_list_opt  */
    1515             :   YYSYMBOL_type_list = 1202,               /* type_list  */
    1516             :   YYSYMBOL_array_expr = 1203,              /* array_expr  */
    1517             :   YYSYMBOL_array_expr_list = 1204,         /* array_expr_list  */
    1518             :   YYSYMBOL_extract_list = 1205,            /* extract_list  */
    1519             :   YYSYMBOL_extract_arg = 1206,             /* extract_arg  */
    1520             :   YYSYMBOL_unicode_normal_form = 1207,     /* unicode_normal_form  */
    1521             :   YYSYMBOL_overlay_list = 1208,            /* overlay_list  */
    1522             :   YYSYMBOL_position_list = 1209,           /* position_list  */
    1523             :   YYSYMBOL_substr_list = 1210,             /* substr_list  */
    1524             :   YYSYMBOL_trim_list = 1211,               /* trim_list  */
    1525             :   YYSYMBOL_in_expr = 1212,                 /* in_expr  */
    1526             :   YYSYMBOL_case_expr = 1213,               /* case_expr  */
    1527             :   YYSYMBOL_when_clause_list = 1214,        /* when_clause_list  */
    1528             :   YYSYMBOL_when_clause = 1215,             /* when_clause  */
    1529             :   YYSYMBOL_case_default = 1216,            /* case_default  */
    1530             :   YYSYMBOL_case_arg = 1217,                /* case_arg  */
    1531             :   YYSYMBOL_columnref = 1218,               /* columnref  */
    1532             :   YYSYMBOL_indirection_el = 1219,          /* indirection_el  */
    1533             :   YYSYMBOL_opt_slice_bound = 1220,         /* opt_slice_bound  */
    1534             :   YYSYMBOL_indirection = 1221,             /* indirection  */
    1535             :   YYSYMBOL_opt_indirection = 1222,         /* opt_indirection  */
    1536             :   YYSYMBOL_opt_asymmetric = 1223,          /* opt_asymmetric  */
    1537             :   YYSYMBOL_json_passing_clause_opt = 1224, /* json_passing_clause_opt  */
    1538             :   YYSYMBOL_json_arguments = 1225,          /* json_arguments  */
    1539             :   YYSYMBOL_json_argument = 1226,           /* json_argument  */
    1540             :   YYSYMBOL_json_wrapper_behavior = 1227,   /* json_wrapper_behavior  */
    1541             :   YYSYMBOL_json_behavior = 1228,           /* json_behavior  */
    1542             :   YYSYMBOL_json_behavior_type = 1229,      /* json_behavior_type  */
    1543             :   YYSYMBOL_json_behavior_clause_opt = 1230, /* json_behavior_clause_opt  */
    1544             :   YYSYMBOL_json_on_error_clause_opt = 1231, /* json_on_error_clause_opt  */
    1545             :   YYSYMBOL_json_value_expr = 1232,         /* json_value_expr  */
    1546             :   YYSYMBOL_json_format_clause = 1233,      /* json_format_clause  */
    1547             :   YYSYMBOL_json_format_clause_opt = 1234,  /* json_format_clause_opt  */
    1548             :   YYSYMBOL_json_quotes_clause_opt = 1235,  /* json_quotes_clause_opt  */
    1549             :   YYSYMBOL_json_returning_clause_opt = 1236, /* json_returning_clause_opt  */
    1550             :   YYSYMBOL_json_predicate_type_constraint = 1237, /* json_predicate_type_constraint  */
    1551             :   YYSYMBOL_json_key_uniqueness_constraint_opt = 1238, /* json_key_uniqueness_constraint_opt  */
    1552             :   YYSYMBOL_json_name_and_value_list = 1239, /* json_name_and_value_list  */
    1553             :   YYSYMBOL_json_name_and_value = 1240,     /* json_name_and_value  */
    1554             :   YYSYMBOL_json_object_constructor_null_clause_opt = 1241, /* json_object_constructor_null_clause_opt  */
    1555             :   YYSYMBOL_json_array_constructor_null_clause_opt = 1242, /* json_array_constructor_null_clause_opt  */
    1556             :   YYSYMBOL_json_value_expr_list = 1243,    /* json_value_expr_list  */
    1557             :   YYSYMBOL_json_aggregate_func = 1244,     /* json_aggregate_func  */
    1558             :   YYSYMBOL_json_array_aggregate_order_by_clause_opt = 1245, /* json_array_aggregate_order_by_clause_opt  */
    1559             :   YYSYMBOL_opt_target_list = 1246,         /* opt_target_list  */
    1560             :   YYSYMBOL_target_list = 1247,             /* target_list  */
    1561             :   YYSYMBOL_target_el = 1248,               /* target_el  */
    1562             :   YYSYMBOL_qualified_name_list = 1249,     /* qualified_name_list  */
    1563             :   YYSYMBOL_qualified_name = 1250,          /* qualified_name  */
    1564             :   YYSYMBOL_name_list = 1251,               /* name_list  */
    1565             :   YYSYMBOL_name = 1252,                    /* name  */
    1566             :   YYSYMBOL_attr_name = 1253,               /* attr_name  */
    1567             :   YYSYMBOL_file_name = 1254,               /* file_name  */
    1568             :   YYSYMBOL_func_name = 1255,               /* func_name  */
    1569             :   YYSYMBOL_AexprConst = 1256,              /* AexprConst  */
    1570             :   YYSYMBOL_Iconst = 1257,                  /* Iconst  */
    1571             :   YYSYMBOL_Sconst = 1258,                  /* Sconst  */
    1572             :   YYSYMBOL_SignedIconst = 1259,            /* SignedIconst  */
    1573             :   YYSYMBOL_RoleId = 1260,                  /* RoleId  */
    1574             :   YYSYMBOL_RoleSpec = 1261,                /* RoleSpec  */
    1575             :   YYSYMBOL_role_list = 1262,               /* role_list  */
    1576             :   YYSYMBOL_PLpgSQL_Expr = 1263,            /* PLpgSQL_Expr  */
    1577             :   YYSYMBOL_PLAssignStmt = 1264,            /* PLAssignStmt  */
    1578             :   YYSYMBOL_plassign_target = 1265,         /* plassign_target  */
    1579             :   YYSYMBOL_plassign_equals = 1266,         /* plassign_equals  */
    1580             :   YYSYMBOL_ColId = 1267,                   /* ColId  */
    1581             :   YYSYMBOL_type_function_name = 1268,      /* type_function_name  */
    1582             :   YYSYMBOL_NonReservedWord = 1269,         /* NonReservedWord  */
    1583             :   YYSYMBOL_ColLabel = 1270,                /* ColLabel  */
    1584             :   YYSYMBOL_BareColLabel = 1271,            /* BareColLabel  */
    1585             :   YYSYMBOL_unreserved_keyword = 1272,      /* unreserved_keyword  */
    1586             :   YYSYMBOL_col_name_keyword = 1273,        /* col_name_keyword  */
    1587             :   YYSYMBOL_type_func_name_keyword = 1274,  /* type_func_name_keyword  */
    1588             :   YYSYMBOL_reserved_keyword = 1275,        /* reserved_keyword  */
    1589             :   YYSYMBOL_bare_label_keyword = 1276       /* bare_label_keyword  */
    1590             : };
    1591             : typedef enum yysymbol_kind_t yysymbol_kind_t;
    1592             : 
    1593             : 
    1594             : 
    1595             : 
    1596             : #ifdef short
    1597             : # undef short
    1598             : #endif
    1599             : 
    1600             : /* On compilers that do not define __PTRDIFF_MAX__ etc., make sure
    1601             :    <limits.h> and (if available) <stdint.h> are included
    1602             :    so that the code can choose integer types of a good width.  */
    1603             : 
    1604             : #ifndef __PTRDIFF_MAX__
    1605             : # include <limits.h> /* INFRINGES ON USER NAME SPACE */
    1606             : # if defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    1607             : #  include <stdint.h> /* INFRINGES ON USER NAME SPACE */
    1608             : #  define YY_STDINT_H
    1609             : # endif
    1610             : #endif
    1611             : 
    1612             : /* Narrow types that promote to a signed type and that can represent a
    1613             :    signed or unsigned integer of at least N bits.  In tables they can
    1614             :    save space and decrease cache pressure.  Promoting to a signed type
    1615             :    helps avoid bugs in integer arithmetic.  */
    1616             : 
    1617             : #ifdef __INT_LEAST8_MAX__
    1618             : typedef __INT_LEAST8_TYPE__ yytype_int8;
    1619             : #elif defined YY_STDINT_H
    1620             : typedef int_least8_t yytype_int8;
    1621             : #else
    1622             : typedef signed char yytype_int8;
    1623             : #endif
    1624             : 
    1625             : #ifdef __INT_LEAST16_MAX__
    1626             : typedef __INT_LEAST16_TYPE__ yytype_int16;
    1627             : #elif defined YY_STDINT_H
    1628             : typedef int_least16_t yytype_int16;
    1629             : #else
    1630             : typedef short yytype_int16;
    1631             : #endif
    1632             : 
    1633             : /* Work around bug in HP-UX 11.23, which defines these macros
    1634             :    incorrectly for preprocessor constants.  This workaround can likely
    1635             :    be removed in 2023, as HPE has promised support for HP-UX 11.23
    1636             :    (aka HP-UX 11i v2) only through the end of 2022; see Table 2 of
    1637             :    <https://h20195.www2.hpe.com/V2/getpdf.aspx/4AA4-7673ENW.pdf>.  */
    1638             : #ifdef __hpux
    1639             : # undef UINT_LEAST8_MAX
    1640             : # undef UINT_LEAST16_MAX
    1641             : # define UINT_LEAST8_MAX 255
    1642             : # define UINT_LEAST16_MAX 65535
    1643             : #endif
    1644             : 
    1645             : #if defined __UINT_LEAST8_MAX__ && __UINT_LEAST8_MAX__ <= __INT_MAX__
    1646             : typedef __UINT_LEAST8_TYPE__ yytype_uint8;
    1647             : #elif (!defined __UINT_LEAST8_MAX__ && defined YY_STDINT_H \
    1648             :        && UINT_LEAST8_MAX <= INT_MAX)
    1649             : typedef uint_least8_t yytype_uint8;
    1650             : #elif !defined __UINT_LEAST8_MAX__ && UCHAR_MAX <= INT_MAX
    1651             : typedef unsigned char yytype_uint8;
    1652             : #else
    1653             : typedef short yytype_uint8;
    1654             : #endif
    1655             : 
    1656             : #if defined __UINT_LEAST16_MAX__ && __UINT_LEAST16_MAX__ <= __INT_MAX__
    1657             : typedef __UINT_LEAST16_TYPE__ yytype_uint16;
    1658             : #elif (!defined __UINT_LEAST16_MAX__ && defined YY_STDINT_H \
    1659             :        && UINT_LEAST16_MAX <= INT_MAX)
    1660             : typedef uint_least16_t yytype_uint16;
    1661             : #elif !defined __UINT_LEAST16_MAX__ && USHRT_MAX <= INT_MAX
    1662             : typedef unsigned short yytype_uint16;
    1663             : #else
    1664             : typedef int yytype_uint16;
    1665             : #endif
    1666             : 
    1667             : #ifndef YYPTRDIFF_T
    1668             : # if defined __PTRDIFF_TYPE__ && defined __PTRDIFF_MAX__
    1669             : #  define YYPTRDIFF_T __PTRDIFF_TYPE__
    1670             : #  define YYPTRDIFF_MAXIMUM __PTRDIFF_MAX__
    1671             : # elif defined PTRDIFF_MAX
    1672             : #  ifndef ptrdiff_t
    1673             : #   include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1674             : #  endif
    1675             : #  define YYPTRDIFF_T ptrdiff_t
    1676             : #  define YYPTRDIFF_MAXIMUM PTRDIFF_MAX
    1677             : # else
    1678             : #  define YYPTRDIFF_T long
    1679             : #  define YYPTRDIFF_MAXIMUM LONG_MAX
    1680             : # endif
    1681             : #endif
    1682             : 
    1683             : #ifndef YYSIZE_T
    1684             : # ifdef __SIZE_TYPE__
    1685             : #  define YYSIZE_T __SIZE_TYPE__
    1686             : # elif defined size_t
    1687             : #  define YYSIZE_T size_t
    1688             : # elif defined __STDC_VERSION__ && 199901 <= __STDC_VERSION__
    1689             : #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
    1690             : #  define YYSIZE_T size_t
    1691             : # else
    1692             : #  define YYSIZE_T unsigned
    1693             : # endif
    1694             : #endif
    1695             : 
    1696             : #define YYSIZE_MAXIMUM                                  \
    1697             :   YY_CAST (YYPTRDIFF_T,                                 \
    1698             :            (YYPTRDIFF_MAXIMUM < YY_CAST (YYSIZE_T, -1)  \
    1699             :             ? YYPTRDIFF_MAXIMUM                         \
    1700             :             : YY_CAST (YYSIZE_T, -1)))
    1701             : 
    1702             : #define YYSIZEOF(X) YY_CAST (YYPTRDIFF_T, sizeof (X))
    1703             : 
    1704             : 
    1705             : /* Stored state numbers (used for stacks). */
    1706             : typedef yytype_int16 yy_state_t;
    1707             : 
    1708             : /* State numbers in computations.  */
    1709             : typedef int yy_state_fast_t;
    1710             : 
    1711             : #ifndef YY_
    1712             : # if defined YYENABLE_NLS && YYENABLE_NLS
    1713             : #  if ENABLE_NLS
    1714             : #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
    1715             : #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
    1716             : #  endif
    1717             : # endif
    1718             : # ifndef YY_
    1719             : #  define YY_(Msgid) Msgid
    1720             : # endif
    1721             : #endif
    1722             : 
    1723             : 
    1724             : #ifndef YY_ATTRIBUTE_PURE
    1725             : # if defined __GNUC__ && 2 < __GNUC__ + (96 <= __GNUC_MINOR__)
    1726             : #  define YY_ATTRIBUTE_PURE __attribute__ ((__pure__))
    1727             : # else
    1728             : #  define YY_ATTRIBUTE_PURE
    1729             : # endif
    1730             : #endif
    1731             : 
    1732             : #ifndef YY_ATTRIBUTE_UNUSED
    1733             : # if defined __GNUC__ && 2 < __GNUC__ + (7 <= __GNUC_MINOR__)
    1734             : #  define YY_ATTRIBUTE_UNUSED __attribute__ ((__unused__))
    1735             : # else
    1736             : #  define YY_ATTRIBUTE_UNUSED
    1737             : # endif
    1738             : #endif
    1739             : 
    1740             : /* Suppress unused-variable warnings by "using" E.  */
    1741             : #if ! defined lint || defined __GNUC__
    1742             : # define YY_USE(E) ((void) (E))
    1743             : #else
    1744             : # define YY_USE(E) /* empty */
    1745             : #endif
    1746             : 
    1747             : /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
    1748             : #if defined __GNUC__ && ! defined __ICC && 406 <= __GNUC__ * 100 + __GNUC_MINOR__
    1749             : # if __GNUC__ * 100 + __GNUC_MINOR__ < 407
    1750             : #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
    1751             :     _Pragma ("GCC diagnostic push")                                     \
    1752             :     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")
    1753             : # else
    1754             : #  define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN                           \
    1755             :     _Pragma ("GCC diagnostic push")                                     \
    1756             :     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")              \
    1757             :     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
    1758             : # endif
    1759             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END      \
    1760             :     _Pragma ("GCC diagnostic pop")
    1761             : #else
    1762             : # define YY_INITIAL_VALUE(Value) Value
    1763             : #endif
    1764             : #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1765             : # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
    1766             : # define YY_IGNORE_MAYBE_UNINITIALIZED_END
    1767             : #endif
    1768             : #ifndef YY_INITIAL_VALUE
    1769             : # define YY_INITIAL_VALUE(Value) /* Nothing. */
    1770             : #endif
    1771             : 
    1772             : #if defined __cplusplus && defined __GNUC__ && ! defined __ICC && 6 <= __GNUC__
    1773             : # define YY_IGNORE_USELESS_CAST_BEGIN                          \
    1774             :     _Pragma ("GCC diagnostic push")                            \
    1775             :     _Pragma ("GCC diagnostic ignored \"-Wuseless-cast\"")
    1776             : # define YY_IGNORE_USELESS_CAST_END            \
    1777             :     _Pragma ("GCC diagnostic pop")
    1778             : #endif
    1779             : #ifndef YY_IGNORE_USELESS_CAST_BEGIN
    1780             : # define YY_IGNORE_USELESS_CAST_BEGIN
    1781             : # define YY_IGNORE_USELESS_CAST_END
    1782             : #endif
    1783             : 
    1784             : 
    1785             : #define YY_ASSERT(E) ((void) (0 && (E)))
    1786             : 
    1787             : #if !defined yyoverflow
    1788             : 
    1789             : /* The parser invokes alloca or malloc; define the necessary symbols.  */
    1790             : 
    1791             : # ifdef YYSTACK_USE_ALLOCA
    1792             : #  if YYSTACK_USE_ALLOCA
    1793             : #   ifdef __GNUC__
    1794             : #    define YYSTACK_ALLOC __builtin_alloca
    1795             : #   elif defined __BUILTIN_VA_ARG_INCR
    1796             : #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
    1797             : #   elif defined _AIX
    1798             : #    define YYSTACK_ALLOC __alloca
    1799             : #   elif defined _MSC_VER
    1800             : #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
    1801             : #    define alloca _alloca
    1802             : #   else
    1803             : #    define YYSTACK_ALLOC alloca
    1804             : #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
    1805             : #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1806             :       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
    1807             : #     ifndef EXIT_SUCCESS
    1808             : #      define EXIT_SUCCESS 0
    1809             : #     endif
    1810             : #    endif
    1811             : #   endif
    1812             : #  endif
    1813             : # endif
    1814             : 
    1815             : # ifdef YYSTACK_ALLOC
    1816             :    /* Pacify GCC's 'empty if-body' warning.  */
    1817             : #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
    1818             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1819             :     /* The OS might guarantee only one guard page at the bottom of the stack,
    1820             :        and a page size can be as small as 4096 bytes.  So we cannot safely
    1821             :        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
    1822             :        to allow for a few compiler-allocated temporary stack slots.  */
    1823             : #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
    1824             : #  endif
    1825             : # else
    1826             : #  define YYSTACK_ALLOC YYMALLOC
    1827             : #  define YYSTACK_FREE YYFREE
    1828             : #  ifndef YYSTACK_ALLOC_MAXIMUM
    1829             : #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
    1830             : #  endif
    1831             : #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
    1832             :        && ! ((defined YYMALLOC || defined malloc) \
    1833             :              && (defined YYFREE || defined free)))
    1834             : #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
    1835             : #   ifndef EXIT_SUCCESS
    1836             : #    define EXIT_SUCCESS 0
    1837             : #   endif
    1838             : #  endif
    1839             : #  ifndef YYMALLOC
    1840             : #   define YYMALLOC malloc
    1841             : #   if ! defined malloc && ! defined EXIT_SUCCESS
    1842             : void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
    1843             : #   endif
    1844             : #  endif
    1845             : #  ifndef YYFREE
    1846             : #   define YYFREE free
    1847             : #   if ! defined free && ! defined EXIT_SUCCESS
    1848             : void free (void *); /* INFRINGES ON USER NAME SPACE */
    1849             : #   endif
    1850             : #  endif
    1851             : # endif
    1852             : #endif /* !defined yyoverflow */
    1853             : 
    1854             : #if (! defined yyoverflow \
    1855             :      && (! defined __cplusplus \
    1856             :          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
    1857             :              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
    1858             : 
    1859             : /* A type that is properly aligned for any stack member.  */
    1860             : union yyalloc
    1861             : {
    1862             :   yy_state_t yyss_alloc;
    1863             :   YYSTYPE yyvs_alloc;
    1864             :   YYLTYPE yyls_alloc;
    1865             : };
    1866             : 
    1867             : /* The size of the maximum gap between one aligned stack and the next.  */
    1868             : # define YYSTACK_GAP_MAXIMUM (YYSIZEOF (union yyalloc) - 1)
    1869             : 
    1870             : /* The size of an array large to enough to hold all stacks, each with
    1871             :    N elements.  */
    1872             : # define YYSTACK_BYTES(N) \
    1873             :      ((N) * (YYSIZEOF (yy_state_t) + YYSIZEOF (YYSTYPE) \
    1874             :              + YYSIZEOF (YYLTYPE)) \
    1875             :       + 2 * YYSTACK_GAP_MAXIMUM)
    1876             : 
    1877             : # define YYCOPY_NEEDED 1
    1878             : 
    1879             : /* Relocate STACK from its old location to the new one.  The
    1880             :    local variables YYSIZE and YYSTACKSIZE give the old and new number of
    1881             :    elements in the stack, and YYPTR gives the new location of the
    1882             :    stack.  Advance YYPTR to a properly aligned location for the next
    1883             :    stack.  */
    1884             : # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
    1885             :     do                                                                  \
    1886             :       {                                                                 \
    1887             :         YYPTRDIFF_T yynewbytes;                                         \
    1888             :         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
    1889             :         Stack = &yyptr->Stack_alloc;                                    \
    1890             :         yynewbytes = yystacksize * YYSIZEOF (*Stack) + YYSTACK_GAP_MAXIMUM; \
    1891             :         yyptr += yynewbytes / YYSIZEOF (*yyptr);                        \
    1892             :       }                                                                 \
    1893             :     while (0)
    1894             : 
    1895             : #endif
    1896             : 
    1897             : #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
    1898             : /* Copy COUNT objects from SRC to DST.  The source and destination do
    1899             :    not overlap.  */
    1900             : # ifndef YYCOPY
    1901             : #  if defined __GNUC__ && 1 < __GNUC__
    1902             : #   define YYCOPY(Dst, Src, Count) \
    1903             :       __builtin_memcpy (Dst, Src, YY_CAST (YYSIZE_T, (Count)) * sizeof (*(Src)))
    1904             : #  else
    1905             : #   define YYCOPY(Dst, Src, Count)              \
    1906             :       do                                        \
    1907             :         {                                       \
    1908             :           YYPTRDIFF_T yyi;                      \
    1909             :           for (yyi = 0; yyi < (Count); yyi++)   \
    1910             :             (Dst)[yyi] = (Src)[yyi];            \
    1911             :         }                                       \
    1912             :       while (0)
    1913             : #  endif
    1914             : # endif
    1915             : #endif /* !YYCOPY_NEEDED */
    1916             : 
    1917             : /* YYFINAL -- State number of the termination state.  */
    1918             : #define YYFINAL  931
    1919             : /* YYLAST -- Last index in YYTABLE.  */
    1920             : #define YYLAST   122812
    1921             : 
    1922             : /* YYNTOKENS -- Number of terminals.  */
    1923             : #define YYNTOKENS  542
    1924             : /* YYNNTS -- Number of nonterminals.  */
    1925             : #define YYNNTS  735
    1926             : /* YYNRULES -- Number of rules.  */
    1927             : #define YYNRULES  3435
    1928             : /* YYNSTATES -- Number of states.  */
    1929             : #define YYNSTATES  6500
    1930             : 
    1931             : /* YYMAXUTOK -- Last valid token kind.  */
    1932             : #define YYMAXUTOK   779
    1933             : 
    1934             : 
    1935             : /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
    1936             :    as returned by yylex, with out-of-bounds checking.  */
    1937             : #define YYTRANSLATE(YYX)                                \
    1938             :   (0 <= (YYX) && (YYX) <= YYMAXUTOK                     \
    1939             :    ? YY_CAST (yysymbol_kind_t, yytranslate[YYX])        \
    1940             :    : YYSYMBOL_YYUNDEF)
    1941             : 
    1942             : /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
    1943             :    as returned by yylex.  */
    1944             : static const yytype_int16 yytranslate[] =
    1945             : {
    1946             :        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1947             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1948             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1949             :        2,     2,     2,     2,     2,     2,     2,   531,     2,     2,
    1950             :      536,   537,   529,   527,   540,   528,   538,   530,     2,     2,
    1951             :        2,     2,     2,     2,     2,     2,     2,     2,   541,   539,
    1952             :      524,   526,   525,     2,     2,     2,     2,     2,     2,     2,
    1953             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1954             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1955             :        2,   534,     2,   535,   532,     2,     2,     2,     2,     2,
    1956             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1957             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1958             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1959             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1960             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1961             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1962             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1963             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1964             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1965             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1966             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1967             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1968             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1969             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1970             :        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
    1971             :        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
    1972             :        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
    1973             :       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
    1974             :       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
    1975             :       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
    1976             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
    1977             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
    1978             :       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
    1979             :       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
    1980             :       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
    1981             :       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
    1982             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
    1983             :      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
    1984             :      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
    1985             :      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
    1986             :      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
    1987             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
    1988             :      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
    1989             :      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
    1990             :      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
    1991             :      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
    1992             :      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
    1993             :      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
    1994             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
    1995             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
    1996             :      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
    1997             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
    1998             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
    1999             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
    2000             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
    2001             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
    2002             :      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
    2003             :      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
    2004             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
    2005             :      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
    2006             :      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
    2007             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
    2008             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
    2009             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
    2010             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    2011             :      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
    2012             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    2013             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
    2014             :      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
    2015             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    2016             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    2017             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
    2018             :      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
    2019             :      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
    2020             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    2021             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    2022             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    2023             :      515,   516,   517,   518,   519,   520,   521,   522,   523,   533
    2024             : };
    2025             : 
    2026             : #if YYDEBUG
    2027             : /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
    2028             : static const yytype_int16 yyrline[] =
    2029             : {
    2030             :        0,   916,   916,   921,   925,   930,   938,   946,   962,   974,
    2031             :      988,   989,   993,   994,   995,   996,   997,   998,   999,  1000,
    2032             :     1001,  1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,
    2033             :     1011,  1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,
    2034             :     1021,  1022,  1023,  1024,  1025,  1026,  1027,  1028,  1029,  1030,
    2035             :     1031,  1032,  1033,  1034,  1035,  1036,  1037,  1038,  1039,  1040,
    2036             :     1041,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1049,  1050,
    2037             :     1051,  1052,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,
    2038             :     1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,  1069,  1070,
    2039             :     1071,  1072,  1073,  1074,  1075,  1076,  1077,  1078,  1079,  1080,
    2040             :     1081,  1082,  1083,  1084,  1085,  1086,  1087,  1088,  1089,  1090,
    2041             :     1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,  1099,  1100,
    2042             :     1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,
    2043             :     1111,  1112,  1113,  1114,  1115,  1116,  1118,  1125,  1126,  1130,
    2044             :     1131,  1135,  1136,  1140,  1141,  1142,  1151,  1167,  1179,  1180,
    2045             :     1181,  1190,  1191,  1195,  1196,  1200,  1205,  1209,  1219,  1227,
    2046             :     1231,  1235,  1240,  1244,  1292,  1294,  1298,  1302,  1306,  1310,
    2047             :     1324,  1343,  1352,  1364,  1365,  1369,  1378,  1387,  1396,  1418,
    2048             :     1426,  1434,  1442,  1450,  1458,  1476,  1495,  1507,  1508,  1519,
    2049             :     1530,  1541,  1557,  1576,  1581,  1589,  1590,  1591,  1592,  1593,
    2050             :     1594,  1608,  1615,  1622,  1632,  1643,  1654,  1658,  1668,  1678,
    2051             :     1687,  1699,  1700,  1710,  1724,  1732,  1742,  1755,  1765,  1775,
    2052             :     1784,  1796,  1808,  1809,  1813,  1814,  1817,  1819,  1823,  1824,
    2053             :     1825,  1826,  1830,  1831,  1832,  1838,  1850,  1854,  1858,  1875,
    2054             :     1883,  1884,  1885,  1889,  1890,  1891,  1895,  1896,  1900,  1904,
    2055             :     1905,  1914,  1923,  1935,  1944,  1956,  1957,  1962,  1963,  1968,
    2056             :     1975,  1982,  1989,  1996,  2007,  2018,  2019,  2023,  2024,  2032,
    2057             :     2048,  2055,  2062,  2069,  2076,  2096,  2106,  2116,  2126,  2136,
    2058             :     2148,  2160,  2170,  2180,  2190,  2202,  2214,  2224,  2234,  2244,
    2059             :     2254,  2264,  2274,  2286,  2298,  2308,  2321,  2322,  2327,  2341,
    2060             :     2354,  2370,  2387,  2397,  2407,  2417,  2427,  2437,  2446,  2455,
    2061             :     2465,  2474,  2484,  2494,  2510,  2520,  2530,  2540,  2550,  2567,
    2062             :     2577,  2587,  2597,  2608,  2622,  2638,  2648,  2657,  2682,  2696,
    2063             :     2705,  2716,  2727,  2735,  2744,  2753,  2761,  2769,  2778,  2787,
    2064             :     2796,  2804,  2812,  2821,  2829,  2837,  2846,  2855,  2864,  2873,
    2065             :     2882,  2891,  2902,  2910,  2919,  2928,  2937,  2946,  2955,  2964,
    2066             :     2972,  2980,  2988,  2995,  3006,  3007,  3011,  3020,  3024,  3025,
    2067             :     3029,  3037,  3045,  3053,  3064,  3067,  3068,  3072,  3073,  3078,
    2068             :     3082,  3086,  3091,  3098,  3100,  3105,  3109,  3113,  3124,  3131,
    2069             :     3132,  3136,  3137,  3142,  3197,  3210,  3224,  3236,  3243,  3247,
    2070             :     3261,  3274,  3275,  3280,  3290,  3301,  3312,  3339,  3346,  3380,
    2071             :     3416,  3440,  3441,  3445,  3446,  3455,  3456,  3457,  3460,  3461,
    2072             :     3466,  3467,  3471,  3475,  3479,  3483,  3487,  3491,  3495,  3499,
    2073             :     3503,  3507,  3511,  3515,  3519,  3523,  3527,  3536,  3540,  3544,
    2074             :     3548,  3552,  3553,  3558,  3562,  3569,  3576,  3577,  3578,  3579,
    2075             :     3580,  3581,  3585,  3589,  3597,  3608,  3628,  3648,  3669,  3690,
    2076             :     3711,  3745,  3746,  3747,  3748,  3749,  3756,  3763,  3764,  3768,
    2077             :     3769,  3773,  3774,  3778,  3782,  3789,  3793,  3800,  3801,  3802,
    2078             :     3806,  3807,  3810,  3834,  3853,  3875,  3876,  3880,  3881,  3885,
    2079             :     3886,  3890,  3891,  3895,  3896,  3900,  3908,  3909,  3910,  3942,
    2080             :     3954,  3962,  3975,  3987,  4001,  4011,  4021,  4046,  4067,  4068,
    2081             :     4069,  4073,  4074,  4078,  4079,  4080,  4099,  4107,  4115,  4123,
    2082             :     4131,  4139,  4151,  4163,  4164,  4165,  4169,  4170,  4171,  4172,
    2083             :     4173,  4174,  4175,  4176,  4177,  4178,  4187,  4195,  4199,  4213,
    2084             :     4226,  4245,  4261,  4279,  4295,  4315,  4360,  4368,  4372,  4387,
    2085             :     4403,  4404,  4408,  4409,  4413,  4414,  4418,  4419,  4423,  4424,
    2086             :     4428,  4429,  4432,  4438,  4439,  4442,  4446,  4454,  4459,  4465,
    2087             :     4466,  4470,  4475,  4482,  4483,  4487,  4497,  4507,  4515,  4524,
    2088             :     4537,  4549,  4556,  4564,  4572,  4580,  4588,  4598,  4599,  4603,
    2089             :     4604,  4607,  4619,  4620,  4623,  4634,  4645,  4659,  4660,  4665,
    2090             :     4666,  4667,  4670,  4671,  4672,  4673,  4676,  4677,  4680,  4681,
    2091             :     4684,  4704,  4717,  4739,  4740,  4743,  4749,  4755,  4772,  4781,
    2092             :     4803,  4817,  4834,  4850,  4851,  4852,  4864,  4878,  4895,  4909,
    2093             :     4910,  4922,  4943,  4954,  4968,  4977,  4989,  4990,  4993,  4994,
    2094             :     4997,  4998,  5001,  5005,  5009,  5013,  5017,  5021,  5025,  5029,
    2095             :     5033,  5037,  5041,  5045,  5049,  5053,  5057,  5061,  5067,  5068,
    2096             :     5072,  5073,  5074,  5081,  5084,  5085,  5097,  5113,  5129,  5130,
    2097             :     5138,  5139,  5143,  5144,  5148,  5149,  5153,  5154,  5158,  5159,
    2098             :     5169,  5181,  5182,  5195,  5203,  5221,  5230,  5242,  5245,  5249,
    2099             :     5253,  5257,  5264,  5276,  5287,  5290,  5294,  5307,  5317,  5327,
    2100             :     5337,  5347,  5357,  5367,  5377,  5387,  5397,  5407,  5417,  5427,
    2101             :     5446,  5458,  5459,  5460,  5461,  5465,  5466,  5470,  5471,  5481,
    2102             :     5490,  5503,  5504,  5508,  5512,  5520,  5524,  5528,  5535,  5539,
    2103             :     5544,  5549,  5556,  5563,  5568,  5578,  5591,  5607,  5608,  5613,
    2104             :     5614,  5618,  5619,  5629,  5639,  5648,  5666,  5687,  5708,  5730,
    2105             :     5764,  5780,  5781,  5785,  5794,  5809,  5819,  5832,  5833,  5845,
    2106             :     5854,  5872,  5897,  5915,  5930,  5931,  5935,  5936,  5940,  5941,
    2107             :     5945,  5946,  5950,  5964,  5968,  5969,  5973,  5974,  5975,  5976,
    2108             :     5977,  5987,  5999,  6000,  6011,  6034,  6067,  6068,  6069,  6073,
    2109             :     6075,  6097,  6099,  6101,  6103,  6105,  6110,  6111,  6115,  6116,
    2110             :     6120,  6132,  6133,  6137,  6146,  6150,  6154,  6159,  6169,  6170,
    2111             :     6174,  6175,  6179,  6180,  6184,  6185,  6189,  6190,  6191,  6195,
    2112             :     6199,  6200,  6201,  6205,  6206,  6211,  6212,  6240,  6241,  6242,
    2113             :     6243,  6244,  6245,  6246,  6247,  6260,  6271,  6286,  6288,  6293,
    2114             :     6298,  6300,  6305,  6316,  6317,  6318,  6319,  6330,  6350,  6362,
    2115             :     6375,  6386,  6397,  6409,  6418,  6426,  6434,  6444,  6454,  6464,
    2116             :     6474,  6484,  6495,  6505,  6518,  6521,  6522,  6525,  6529,  6536,
    2117             :     6537,  6538,  6539,  6540,  6541,  6544,  6547,  6548,  6556,  6563,
    2118             :     6564,  6567,  6569,  6580,  6592,  6604,  6616,  6628,  6657,  6658,
    2119             :     6674,  6690,  6691,  6695,  6708,  6718,  6727,  6737,  6747,  6748,
    2120             :     6751,  6752,  6755,  6756,  6757,  6762,  6773,  6783,  6796,  6797,
    2121             :     6801,  6810,  6823,  6834,  6848,  6859,  6882,  6893,  6912,  6923,
    2122             :     6934,  6945,  6956,  6967,  6978,  6989,  7000,  7011,  7022,  7033,
    2123             :     7048,  7049,  7050,  7051,  7052,  7053,  7054,  7055,  7056,  7057,
    2124             :     7058,  7059,  7060,  7070,  7071,  7072,  7073,  7074,  7078,  7079,
    2125             :     7080,  7081,  7082,  7083,  7084,  7085,  7090,  7091,  7092,  7096,
    2126             :     7097,  7100,  7101,  7104,  7106,  7111,  7112,  7123,  7135,  7136,
    2127             :     7137,  7147,  7156,  7165,  7174,  7183,  7192,  7201,  7210,  7219,
    2128             :     7228,  7242,  7251,  7260,  7269,  7278,  7287,  7296,  7305,  7317,
    2129             :     7318,  7332,  7343,  7354,  7365,  7376,  7387,  7398,  7409,  7420,
    2130             :     7431,  7444,  7445,  7448,  7449,  7459,  7466,  7475,  7484,  7493,
    2131             :     7502,  7511,  7520,  7529,  7538,  7547,  7556,  7565,  7574,  7583,
    2132             :     7592,  7601,  7610,  7621,  7622,  7625,  7626,  7636,  7654,  7670,
    2133             :     7698,  7700,  7702,  7704,  7712,  7722,  7723,  7726,  7734,  7742,
    2134             :     7750,  7757,  7768,  7772,  7779,  7783,  7794,  7803,  7812,  7821,
    2135             :     7830,  7839,  7848,  7857,  7866,  7875,  7884,  7893,  7902,  7910,
    2136             :     7919,  7928,  7937,  7946,  7955,  7964,  7973,  7986,  7987,  7991,
    2137             :     7992,  7997,  7998,  8008,  8019,  8033,  8045,  8063,  8064,  8068,
    2138             :     8075,  8076,  8077,  8080,  8081,  8091,  8102,  8103,  8107,  8111,
    2139             :     8115,  8126,  8140,  8155,  8173,  8174,  8175,  8176,  8177,  8178,
    2140             :     8179,  8191,  8223,  8258,  8259,  8263,  8264,  8267,  8268,  8273,
    2141             :     8285,  8304,  8309,  8314,  8321,  8322,  8325,  8326,  8329,  8330,
    2142             :     8334,  8335,  8336,  8339,  8340,  8341,  8357,  8371,  8386,  8400,
    2143             :     8417,  8418,  8421,  8422,  8426,  8427,  8431,  8432,  8437,  8451,
    2144             :     8459,  8467,  8483,  8484,  8488,  8489,  8504,  8515,  8526,  8537,
    2145             :     8548,  8562,  8563,  8564,  8565,  8566,  8572,  8576,  8591,  8592,
    2146             :     8598,  8608,  8612,  8617,  8625,  8667,  8671,  8675,  8679,  8687,
    2147             :     8688,  8692,  8704,  8705,  8710,  8711,  8716,  8717,  8724,  8728,
    2148             :     8732,  8736,  8740,  8744,  8748,  8752,  8756,  8760,  8764,  8768,
    2149             :     8772,  8776,  8780,  8784,  8789,  8796,  8800,  8804,  8808,  8812,
    2150             :     8818,  8819,  8825,  8835,  8839,  8850,  8856,  8865,  8871,  8872,
    2151             :     8876,  8877,  8881,  8882,  8885,  8899,  8903,  8918,  8927,  8936,
    2152             :     8949,  8950,  8955,  8956,  8973,  8984,  8995,  9006,  9017,  9028,
    2153             :     9042,  9053,  9067,  9078,  9092,  9100,  9102,  9104,  9109,  9111,
    2154             :     9116,  9117,  9122,  9141,  9151,  9152,  9156,  9160,  9172,  9184,
    2155             :     9196,  9210,  9211,  9212,  9216,  9229,  9230,  9240,  9253,  9257,
    2156             :     9261,  9265,  9272,  9294,  9307,  9320,  9335,  9336,  9339,  9340,
    2157             :     9343,  9344,  9354,  9364,  9382,  9392,  9402,  9412,  9422,  9432,
    2158             :     9442,  9452,  9462,  9472,  9482,  9492,  9502,  9513,  9524,  9534,
    2159             :     9544,  9554,  9564,  9574,  9584,  9595,  9606,  9617,  9628,  9639,
    2160             :     9650,  9661,  9672,  9683,  9694,  9705,  9716,  9728,  9740,  9752,
    2161             :     9764,  9776,  9788,  9799,  9810,  9822,  9834,  9845,  9856,  9865,
    2162             :     9875,  9885,  9895,  9905,  9915,  9925,  9935,  9945,  9955,  9970,
    2163             :     9971,  9974,  9975,  9985,  9995, 10005, 10015, 10026, 10036, 10048,
    2164             :    10049, 10059, 10069, 10079, 10089, 10099, 10109, 10119, 10129, 10139,
    2165             :    10149, 10159, 10169, 10179, 10189, 10199, 10209, 10219, 10229, 10239,
    2166             :    10249, 10259, 10269, 10279, 10289, 10299, 10309, 10319, 10338, 10348,
    2167             :    10349, 10352, 10354, 10356, 10362, 10363, 10364, 10365, 10366, 10378,
    2168             :    10394, 10403, 10412, 10421, 10430, 10439, 10448, 10457, 10466, 10475,
    2169             :    10484, 10493, 10502, 10511, 10520, 10529, 10538, 10547, 10556, 10565,
    2170             :    10574, 10583, 10592, 10601, 10629, 10637, 10646, 10672, 10681, 10688,
    2171             :    10694, 10721, 10732, 10741, 10749, 10751, 10773, 10781, 10791, 10801,
    2172             :    10820, 10839, 10849, 10859, 10869, 10880, 10891, 10902, 10913, 10924,
    2173             :    10942, 10951, 10968, 10986, 10987, 10988, 10993, 10999, 11008, 11009,
    2174             :    11010, 11011, 11012, 11016, 11017, 11020, 11021, 11022, 11023, 11027,
    2175             :    11028, 11029, 11041, 11052, 11053, 11056, 11066, 11073, 11093, 11103,
    2176             :    11112, 11122, 11132, 11141, 11150, 11159, 11168, 11177, 11186, 11195,
    2177             :    11207, 11216, 11228, 11229, 11230, 11234, 11237, 11240, 11243, 11246,
    2178             :    11253, 11255, 11257, 11262, 11264, 11268, 11269, 11270, 11282, 11296,
    2179             :    11310, 11329, 11351, 11352, 11353, 11354, 11364, 11381, 11392, 11393,
    2180             :    11397, 11398, 11402, 11406, 11410, 11428, 11429, 11430, 11431, 11432,
    2181             :    11433, 11434, 11441, 11442, 11453, 11461, 11469, 11478, 11488, 11506,
    2182             :    11515, 11524, 11533, 11545, 11549, 11560, 11572, 11590, 11597, 11614,
    2183             :    11628, 11638, 11647, 11656, 11666, 11678, 11690, 11701, 11702, 11713,
    2184             :    11724, 11736, 11748, 11760, 11772, 11782, 11795, 11796, 11810, 11834,
    2185             :    11843, 11853, 11865, 11877, 11891, 11892, 11904, 11925, 11936, 11948,
    2186             :    11960, 11964, 11971, 11972, 11976, 11983, 11984, 11985, 11989, 11990,
    2187             :    11991, 11995, 11996, 12000, 12001, 12004, 12005, 12008, 12009, 12013,
    2188             :    12014, 12018, 12025, 12027, 12032, 12033, 12046, 12054, 12065, 12073,
    2189             :    12084, 12085, 12086, 12087, 12088, 12089, 12090, 12091, 12092, 12093,
    2190             :    12103, 12114, 12115, 12119, 12120, 12121, 12122, 12123, 12133, 12141,
    2191             :    12159, 12179, 12180, 12190, 12199, 12208, 12217, 12236, 12255, 12259,
    2192             :    12267, 12273, 12280, 12286, 12293, 12302, 12303, 12307, 12309, 12314,
    2193             :    12325, 12335, 12345, 12351, 12360, 12369, 12375, 12384, 12390, 12391,
    2194             :    12395, 12396, 12400, 12412, 12413, 12424, 12440, 12441, 12452, 12463,
    2195             :    12464, 12467, 12468, 12469, 12470, 12471, 12472, 12473, 12474, 12477,
    2196             :    12478, 12482, 12483, 12484, 12495, 12515, 12516, 12520, 12525, 12549,
    2197             :    12560, 12561, 12573, 12594, 12595, 12605, 12612, 12619, 12626, 12636,
    2198             :    12649, 12650, 12654, 12655, 12659, 12660, 12664, 12677, 12690, 12699,
    2199             :    12708, 12717, 12726, 12738, 12750, 12762, 12765, 12766, 12767, 12768,
    2200             :    12769, 12770, 12773, 12774, 12775, 12823, 12824, 12828, 12842, 12857,
    2201             :    12858, 12865, 12873, 12881, 12889, 12897, 12905, 12916, 12917, 12949,
    2202             :    12966, 12984, 12985, 13005, 13009, 13013, 13028, 13035, 13042, 13052,
    2203             :    13053, 13056, 13072, 13073, 13074, 13078, 13088, 13099, 13105, 13117,
    2204             :    13130, 13136, 13137, 13141, 13153, 13161, 13166, 13171, 13176, 13181,
    2205             :    13189, 13197, 13202, 13207, 13214, 13215, 13219, 13220, 13221, 13228,
    2206             :    13229, 13233, 13234, 13238, 13239, 13243, 13244, 13248, 13252, 13253,
    2207             :    13256, 13265, 13278, 13284, 13290, 13294, 13309, 13310, 13314, 13326,
    2208             :    13342, 13354, 13366, 13378, 13393, 13396, 13401, 13402, 13410, 13430,
    2209             :    13431, 13433, 13438, 13439, 13443, 13444, 13447, 13448, 13473, 13482,
    2210             :    13492, 13493, 13497, 13498, 13499, 13500, 13501, 13505, 13518, 13525,
    2211             :    13532, 13539, 13540, 13544, 13545, 13549, 13550, 13554, 13555, 13559,
    2212             :    13571, 13572, 13573, 13574, 13578, 13579, 13589, 13597, 13616, 13617,
    2213             :    13621, 13622, 13628, 13633, 13642, 13650, 13659, 13666, 13674, 13683,
    2214             :    13692, 13696, 13701, 13708, 13737, 13741, 13755, 13776, 13798, 13811,
    2215             :    13828, 13834, 13839, 13845, 13852, 13853, 13863, 13869, 13877, 13881,
    2216             :    13885, 13892, 13900, 13905, 13906, 13907, 13908, 13912, 13913, 13928,
    2217             :    13932, 13940, 13947, 13954, 13961, 13968, 13979, 13980, 13993, 13997,
    2218             :    14005, 14019, 14033, 14034, 14049, 14060, 14073, 14078, 14079, 14082,
    2219             :    14083, 14086, 14087, 14092, 14093, 14098, 14099, 14108, 14113, 14114,
    2220             :    14118, 14122, 14128, 14153, 14164, 14178, 14179, 14183, 14197, 14254,
    2221             :    14268, 14270, 14275, 14284, 14286, 14288, 14290, 14295, 14297, 14302,
    2222             :    14310, 14321, 14349, 14350, 14354, 14356, 14361, 14370, 14390, 14410,
    2223             :    14428, 14440, 14455, 14456, 14460, 14463, 14476, 14481, 14488, 14493,
    2224             :    14499, 14504, 14513, 14515, 14518, 14522, 14523, 14524, 14525, 14526,
    2225             :    14527, 14532, 14538, 14553, 14554, 14555, 14556, 14557, 14568, 14574,
    2226             :    14582, 14583, 14589, 14594, 14599, 14604, 14609, 14614, 14619, 14624,
    2227             :    14630, 14636, 14642, 14649, 14671, 14680, 14684, 14692, 14696, 14704,
    2228             :    14716, 14737, 14741, 14747, 14751, 14764, 14772, 14782, 14784, 14786,
    2229             :    14788, 14790, 14792, 14797, 14798, 14805, 14814, 14822, 14831, 14842,
    2230             :    14850, 14851, 14852, 14856, 14858, 14860, 14862, 14864, 14866, 14868,
    2231             :    14873, 14878, 14884, 14892, 14897, 14904, 14911, 14915, 14919, 14927,
    2232             :    14962, 14963, 14965, 14974, 14981, 14997, 14999, 15001, 15003, 15005,
    2233             :    15007, 15009, 15011, 15013, 15015, 15017, 15019, 15021, 15023, 15026,
    2234             :    15028, 15031, 15033, 15035, 15037, 15040, 15045, 15054, 15059, 15068,
    2235             :    15073, 15082, 15087, 15097, 15106, 15115, 15124, 15143, 15152, 15161,
    2236             :    15170, 15179, 15196, 15205, 15214, 15223, 15232, 15241, 15250, 15254,
    2237             :    15258, 15266, 15274, 15282, 15290, 15311, 15334, 15346, 15353, 15369,
    2238             :    15374, 15380, 15387, 15394, 15402, 15410, 15427, 15446, 15472, 15474,
    2239             :    15476, 15478, 15480, 15482, 15484, 15486, 15488, 15490, 15492, 15494,
    2240             :    15496, 15498, 15500, 15502, 15504, 15506, 15508, 15512, 15516, 15521,
    2241             :    15537, 15538, 15539, 15556, 15569, 15571, 15573, 15585, 15610, 15622,
    2242             :    15634, 15642, 15653, 15664, 15674, 15680, 15689, 15699, 15709, 15722,
    2243             :    15732, 15763, 15799, 15809, 15820, 15821, 15822, 15829, 15836, 15840,
    2244             :    15844, 15848, 15852, 15856, 15860, 15864, 15868, 15872, 15876, 15880,
    2245             :    15884, 15891, 15895, 15899, 15903, 15905, 15912, 15919, 15926, 15933,
    2246             :    15944, 15958, 15968, 15979, 15995, 16005, 16012, 16019, 16026, 16030,
    2247             :    16038, 16047, 16056, 16060, 16064, 16068, 16072, 16076, 16085, 16089,
    2248             :    16099, 16103, 16107, 16112, 16123, 16129, 16143, 16154, 16168, 16184,
    2249             :    16196, 16206, 16215, 16224, 16232, 16254, 16270, 16294, 16296, 16300,
    2250             :    16302, 16304, 16307, 16310, 16313, 16314, 16317, 16325, 16335, 16336,
    2251             :    16339, 16340, 16341, 16344, 16345, 16346, 16351, 16355, 16359, 16363,
    2252             :    16370, 16371, 16379, 16380, 16384, 16385, 16393, 16394, 16398, 16399,
    2253             :    16404, 16413, 16415, 16430, 16433, 16461, 16462, 16465, 16466, 16474,
    2254             :    16482, 16490, 16499, 16509, 16527, 16573, 16582, 16591, 16600, 16609,
    2255             :    16621, 16622, 16623, 16624, 16625, 16639, 16640, 16641, 16644, 16645,
    2256             :    16648, 16651, 16652, 16653, 16656, 16657, 16660, 16661, 16662, 16663,
    2257             :    16664, 16665, 16666, 16667, 16668, 16669, 16670, 16671, 16674, 16676,
    2258             :    16681, 16683, 16688, 16690, 16692, 16694, 16696, 16698, 16710, 16714,
    2259             :    16721, 16725, 16731, 16735, 16745, 16757, 16758, 16761, 16762, 16765,
    2260             :    16769, 16773, 16779, 16780, 16785, 16795, 16796, 16797, 16798, 16799,
    2261             :    16800, 16801, 16802, 16806, 16807, 16808, 16809, 16814, 16819, 16828,
    2262             :    16849, 16853, 16858, 16869, 16886, 16892, 16893, 16894, 16897, 16905,
    2263             :    16915, 16930, 16931, 16935, 16947, 16948, 16951, 16952, 16955, 16959,
    2264             :    16966, 16970, 16974, 16983, 16995, 16996, 17000, 17001, 17005, 17006,
    2265             :    17009, 17010, 17015, 17016, 17020, 17021, 17025, 17037, 17038, 17039,
    2266             :    17040, 17041, 17042, 17043, 17044, 17045, 17049, 17051, 17056, 17057,
    2267             :    17058, 17059, 17060, 17061, 17062, 17064, 17068, 17070, 17072, 17075,
    2268             :    17079, 17082, 17086, 17095, 17113, 17120, 17125, 17131, 17132, 17133,
    2269             :    17134, 17135, 17139, 17148, 17162, 17163, 17164, 17165, 17166, 17175,
    2270             :    17176, 17177, 17178, 17179, 17183, 17185, 17195, 17198, 17204, 17205,
    2271             :    17206, 17210, 17211, 17212, 17216, 17217, 17221, 17239, 17259, 17260,
    2272             :    17269, 17270, 17274, 17275, 17278, 17286, 17294, 17302, 17325, 17326,
    2273             :    17337, 17341, 17347, 17349, 17354, 17356, 17358, 17368, 17370, 17381,
    2274             :    17385, 17389, 17393, 17397, 17406, 17414, 17446, 17450, 17457, 17465,
    2275             :    17469, 17473, 17479, 17480, 17482, 17483, 17484, 17488, 17529, 17557,
    2276             :    17561, 17565, 17571, 17573, 17587, 17624, 17637, 17638, 17641, 17642,
    2277             :    17659, 17660, 17661, 17666, 17667, 17668, 17673, 17674, 17675, 17676,
    2278             :    17682, 17683, 17684, 17685, 17686, 17692, 17693, 17713, 17714, 17715,
    2279             :    17716, 17717, 17718, 17719, 17720, 17721, 17722, 17723, 17724, 17725,
    2280             :    17726, 17727, 17728, 17729, 17730, 17731, 17732, 17733, 17734, 17735,
    2281             :    17736, 17737, 17738, 17739, 17740, 17741, 17742, 17743, 17744, 17745,
    2282             :    17746, 17747, 17748, 17749, 17750, 17751, 17752, 17753, 17754, 17755,
    2283             :    17756, 17757, 17758, 17759, 17760, 17761, 17762, 17763, 17764, 17765,
    2284             :    17766, 17767, 17768, 17769, 17770, 17771, 17772, 17773, 17774, 17775,
    2285             :    17776, 17777, 17778, 17779, 17780, 17781, 17782, 17783, 17784, 17785,
    2286             :    17786, 17787, 17788, 17789, 17790, 17791, 17792, 17793, 17794, 17795,
    2287             :    17796, 17797, 17798, 17799, 17800, 17801, 17802, 17803, 17804, 17805,
    2288             :    17806, 17807, 17808, 17809, 17810, 17811, 17812, 17813, 17814, 17815,
    2289             :    17816, 17817, 17818, 17819, 17820, 17821, 17822, 17823, 17824, 17825,
    2290             :    17826, 17827, 17828, 17829, 17830, 17831, 17832, 17833, 17834, 17835,
    2291             :    17836, 17837, 17838, 17839, 17840, 17841, 17842, 17843, 17844, 17845,
    2292             :    17846, 17847, 17848, 17849, 17850, 17851, 17852, 17853, 17854, 17855,
    2293             :    17856, 17857, 17858, 17859, 17860, 17861, 17862, 17863, 17864, 17865,
    2294             :    17866, 17867, 17868, 17869, 17870, 17871, 17872, 17873, 17874, 17875,
    2295             :    17876, 17877, 17878, 17879, 17880, 17881, 17882, 17883, 17884, 17885,
    2296             :    17886, 17887, 17888, 17889, 17890, 17891, 17892, 17893, 17894, 17895,
    2297             :    17896, 17897, 17898, 17899, 17900, 17901, 17902, 17903, 17904, 17905,
    2298             :    17906, 17907, 17908, 17909, 17910, 17911, 17912, 17913, 17914, 17915,
    2299             :    17916, 17917, 17918, 17919, 17920, 17921, 17922, 17923, 17924, 17925,
    2300             :    17926, 17927, 17928, 17929, 17930, 17931, 17932, 17933, 17934, 17935,
    2301             :    17936, 17937, 17938, 17939, 17940, 17941, 17942, 17943, 17944, 17945,
    2302             :    17946, 17947, 17948, 17949, 17950, 17951, 17952, 17953, 17954, 17955,
    2303             :    17956, 17957, 17958, 17959, 17960, 17961, 17962, 17963, 17964, 17965,
    2304             :    17966, 17967, 17968, 17969, 17970, 17971, 17972, 17973, 17974, 17975,
    2305             :    17976, 17977, 17978, 17979, 17980, 17981, 17982, 17983, 17984, 17985,
    2306             :    17986, 17987, 17988, 17989, 17990, 17991, 17992, 17993, 17994, 17995,
    2307             :    17996, 17997, 17998, 17999, 18000, 18001, 18002, 18003, 18004, 18005,
    2308             :    18006, 18007, 18008, 18009, 18010, 18011, 18012, 18013, 18014, 18015,
    2309             :    18016, 18017, 18018, 18019, 18020, 18021, 18022, 18023, 18024, 18025,
    2310             :    18026, 18027, 18028, 18029, 18030, 18031, 18032, 18033, 18034, 18035,
    2311             :    18036, 18037, 18038, 18039, 18040, 18041, 18042, 18056, 18057, 18058,
    2312             :    18059, 18060, 18061, 18062, 18063, 18064, 18065, 18066, 18067, 18068,
    2313             :    18069, 18070, 18071, 18072, 18073, 18074, 18075, 18076, 18077, 18078,
    2314             :    18079, 18080, 18081, 18082, 18083, 18084, 18085, 18086, 18087, 18088,
    2315             :    18089, 18090, 18091, 18092, 18093, 18094, 18095, 18096, 18097, 18098,
    2316             :    18099, 18100, 18101, 18102, 18103, 18104, 18105, 18106, 18107, 18108,
    2317             :    18109, 18110, 18111, 18112, 18113, 18114, 18115, 18116, 18117, 18118,
    2318             :    18132, 18133, 18134, 18135, 18136, 18137, 18138, 18139, 18140, 18141,
    2319             :    18142, 18143, 18144, 18145, 18146, 18147, 18148, 18149, 18150, 18151,
    2320             :    18152, 18153, 18154, 18164, 18165, 18166, 18167, 18168, 18169, 18170,
    2321             :    18171, 18172, 18173, 18174, 18175, 18176, 18177, 18178, 18179, 18180,
    2322             :    18181, 18182, 18183, 18184, 18185, 18186, 18187, 18188, 18189, 18190,
    2323             :    18191, 18192, 18193, 18194, 18195, 18196, 18197, 18198, 18199, 18200,
    2324             :    18201, 18202, 18203, 18204, 18205, 18206, 18207, 18208, 18209, 18210,
    2325             :    18211, 18212, 18213, 18214, 18215, 18216, 18217, 18218, 18219, 18220,
    2326             :    18221, 18222, 18223, 18224, 18225, 18226, 18227, 18228, 18229, 18230,
    2327             :    18231, 18232, 18233, 18234, 18235, 18236, 18237, 18238, 18239, 18240,
    2328             :    18241, 18254, 18255, 18256, 18257, 18258, 18259, 18260, 18261, 18262,
    2329             :    18263, 18264, 18265, 18266, 18267, 18268, 18269, 18270, 18271, 18272,
    2330             :    18273, 18274, 18275, 18276, 18277, 18278, 18279, 18280, 18281, 18282,
    2331             :    18283, 18284, 18285, 18286, 18287, 18288, 18289, 18290, 18291, 18292,
    2332             :    18293, 18294, 18295, 18296, 18297, 18298, 18299, 18300, 18301, 18302,
    2333             :    18303, 18304, 18305, 18306, 18307, 18308, 18309, 18310, 18311, 18312,
    2334             :    18313, 18314, 18315, 18316, 18317, 18318, 18319, 18320, 18321, 18322,
    2335             :    18323, 18324, 18325, 18326, 18327, 18328, 18329, 18330, 18331, 18332,
    2336             :    18333, 18334, 18335, 18336, 18337, 18338, 18339, 18340, 18341, 18342,
    2337             :    18343, 18344, 18345, 18346, 18347, 18348, 18349, 18350, 18351, 18352,
    2338             :    18353, 18354, 18355, 18356, 18357, 18358, 18359, 18360, 18361, 18362,
    2339             :    18363, 18364, 18365, 18366, 18367, 18368, 18369, 18370, 18371, 18372,
    2340             :    18373, 18374, 18375, 18376, 18377, 18378, 18379, 18380, 18381, 18382,
    2341             :    18383, 18384, 18385, 18386, 18387, 18388, 18389, 18390, 18391, 18392,
    2342             :    18393, 18394, 18395, 18396, 18397, 18398, 18399, 18400, 18401, 18402,
    2343             :    18403, 18404, 18405, 18406, 18407, 18408, 18409, 18410, 18411, 18412,
    2344             :    18413, 18414, 18415, 18416, 18417, 18418, 18419, 18420, 18421, 18422,
    2345             :    18423, 18424, 18425, 18426, 18427, 18428, 18429, 18430, 18431, 18432,
    2346             :    18433, 18434, 18435, 18436, 18437, 18438, 18439, 18440, 18441, 18442,
    2347             :    18443, 18444, 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452,
    2348             :    18453, 18454, 18455, 18456, 18457, 18458, 18459, 18460, 18461, 18462,
    2349             :    18463, 18464, 18465, 18466, 18467, 18468, 18469, 18470, 18471, 18472,
    2350             :    18473, 18474, 18475, 18476, 18477, 18478, 18479, 18480, 18481, 18482,
    2351             :    18483, 18484, 18485, 18486, 18487, 18488, 18489, 18490, 18491, 18492,
    2352             :    18493, 18494, 18495, 18496, 18497, 18498, 18499, 18500, 18501, 18502,
    2353             :    18503, 18504, 18505, 18506, 18507, 18508, 18509, 18510, 18511, 18512,
    2354             :    18513, 18514, 18515, 18516, 18517, 18518, 18519, 18520, 18521, 18522,
    2355             :    18523, 18524, 18525, 18526, 18527, 18528, 18529, 18530, 18531, 18532,
    2356             :    18533, 18534, 18535, 18536, 18537, 18538, 18539, 18540, 18541, 18542,
    2357             :    18543, 18544, 18545, 18546, 18547, 18548, 18549, 18550, 18551, 18552,
    2358             :    18553, 18554, 18555, 18556, 18557, 18558, 18559, 18560, 18561, 18562,
    2359             :    18563, 18564, 18565, 18566, 18567, 18568, 18569, 18570, 18571, 18572,
    2360             :    18573, 18574, 18575, 18576, 18577, 18578, 18579, 18580, 18581, 18582,
    2361             :    18583, 18584, 18585, 18586, 18587, 18588, 18589, 18590, 18591, 18592,
    2362             :    18593, 18594, 18595, 18596, 18597, 18598, 18599, 18600, 18601, 18602,
    2363             :    18603, 18604, 18605, 18606, 18607, 18608, 18609, 18610, 18611, 18612,
    2364             :    18613, 18614, 18615, 18616, 18617, 18618, 18619, 18620, 18621, 18622,
    2365             :    18623, 18624, 18625, 18626, 18627, 18628, 18629, 18630, 18631, 18632,
    2366             :    18633, 18634, 18635, 18636, 18637, 18638, 18639, 18640, 18641, 18642,
    2367             :    18643, 18644, 18645, 18646, 18647, 18648, 18649, 18650, 18651, 18652,
    2368             :    18653, 18654, 18655, 18656, 18657, 18658, 18659, 18660, 18661, 18662,
    2369             :    18663, 18664, 18665, 18666, 18667, 18668, 18669, 18670, 18671, 18672,
    2370             :    18673, 18674, 18675, 18676, 18677, 18678, 18679, 18680, 18681, 18682,
    2371             :    18683, 18684, 18685, 18686, 18687, 18688, 18689, 18690, 18691, 18692,
    2372             :    18693, 18694, 18695, 18696, 18697, 18698, 18699, 18700, 18701, 18702,
    2373             :    18703, 18704, 18705, 18706, 18707, 18708
    2374             : };
    2375             : #endif
    2376             : 
    2377             : /** Accessing symbol of state STATE.  */
    2378             : #define YY_ACCESSING_SYMBOL(State) YY_CAST (yysymbol_kind_t, yystos[State])
    2379             : 
    2380             : #if YYDEBUG || 0
    2381             : /* The user-facing name of the symbol whose (internal) number is
    2382             :    YYSYMBOL.  No bounds checking.  */
    2383             : static const char *yysymbol_name (yysymbol_kind_t yysymbol) YY_ATTRIBUTE_UNUSED;
    2384             : 
    2385             : /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
    2386             :    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
    2387             : static const char *const yytname[] =
    2388             : {
    2389             :   "\"end of file\"", "error", "\"invalid token\"", "IDENT", "UIDENT",
    2390             :   "FCONST", "SCONST", "USCONST", "BCONST", "XCONST", "Op", "ICONST",
    2391             :   "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER",
    2392             :   "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSENT",
    2393             :   "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE",
    2394             :   "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY",
    2395             :   "ARRAY", "AS", "ASC", "ASENSITIVE", "ASSERTION", "ASSIGNMENT",
    2396             :   "ASYMMETRIC", "ATOMIC", "AT", "ATTACH", "ATTRIBUTE", "AUTHORIZATION",
    2397             :   "BACKWARD", "BEFORE", "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT",
    2398             :   "BOOLEAN_P", "BOTH", "BREADTH", "BY", "CACHE", "CALL", "CALLED",
    2399             :   "CASCADE", "CASCADED", "CASE", "CAST", "CATALOG_P", "CHAIN", "CHAR_P",
    2400             :   "CHARACTER", "CHARACTERISTICS", "CHECK", "CHECKPOINT", "CLASS", "CLOSE",
    2401             :   "CLUSTER", "COALESCE", "COLLATE", "COLLATION", "COLUMN", "COLUMNS",
    2402             :   "COMMENT", "COMMENTS", "COMMIT", "COMMITTED", "COMPRESSION",
    2403             :   "CONCURRENTLY", "CONDITIONAL", "CONFIGURATION", "CONFLICT", "CONNECTION",
    2404             :   "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P",
    2405             :   "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P",
    2406             :   "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA",
    2407             :   "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE",
    2408             :   "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P",
    2409             :   "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER",
    2410             :   "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH", "DESC",
    2411             :   "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
    2412             :   "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "EMPTY_P",
    2413             :   "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P", "ENFORCED", "ENUM_P",
    2414             :   "ERROR_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
    2415             :   "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXPRESSION", "EXTENSION",
    2416             :   "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER",
    2417             :   "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR", "FORCE", "FOREIGN",
    2418             :   "FORMAT", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION", "FUNCTIONS",
    2419             :   "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST", "GROUP_P",
    2420             :   "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD", "HOUR_P",
    2421             :   "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE", "IMPLICIT_P",
    2422             :   "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT", "INDENT",
    2423             :   "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P",
    2424             :   "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
    2425             :   "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
    2426             :   "ISNULL", "ISOLATION", "JOIN", "JSON", "JSON_ARRAY", "JSON_ARRAYAGG",
    2427             :   "JSON_EXISTS", "JSON_OBJECT", "JSON_OBJECTAGG", "JSON_QUERY",
    2428             :   "JSON_SCALAR", "JSON_SERIALIZE", "JSON_TABLE", "JSON_VALUE", "KEEP",
    2429             :   "KEY", "KEYS", "LABEL", "LANGUAGE", "LARGE_P", "LAST_P", "LATERAL_P",
    2430             :   "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL", "LIKE", "LIMIT",
    2431             :   "LISTEN", "LOAD", "LOCAL", "LOCALTIME", "LOCALTIMESTAMP", "LOCATION",
    2432             :   "LOCK_P", "LOCKED", "LOGGED", "MAPPING", "MATCH", "MATCHED",
    2433             :   "MATERIALIZED", "MAXVALUE", "MERGE", "MERGE_ACTION", "METHOD",
    2434             :   "MINUTE_P", "MINVALUE", "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES",
    2435             :   "NATIONAL", "NATURAL", "NCHAR", "NESTED", "NEW", "NEXT", "NFC", "NFD",
    2436             :   "NFKC", "NFKD", "NO", "NONE", "NORMALIZE", "NORMALIZED", "NOT",
    2437             :   "NOTHING", "NOTIFY", "NOTNULL", "NOWAIT", "NULL_P", "NULLIF", "NULLS_P",
    2438             :   "NUMERIC", "OBJECT_P", "OBJECTS_P", "OF", "OFF", "OFFSET", "OIDS", "OLD",
    2439             :   "OMIT", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS", "OR", "ORDER",
    2440             :   "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P", "OVER", "OVERLAPS",
    2441             :   "OVERLAY", "OVERRIDING", "OWNED", "OWNER", "PARALLEL", "PARAMETER",
    2442             :   "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD", "PATH",
    2443             :   "PERIOD", "PLACING", "PLAN", "PLANS", "POLICY", "POSITION", "PRECEDING",
    2444             :   "PRECISION", "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR",
    2445             :   "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM",
    2446             :   "PUBLICATION", "QUOTE", "QUOTES", "RANGE", "READ", "REAL", "REASSIGN",
    2447             :   "RECURSIVE", "REF_P", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX",
    2448             :   "RELATIVE_P", "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA",
    2449             :   "RESET", "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS",
    2450             :   "REVOKE", "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES",
    2451             :   "ROW", "ROWS", "RULE", "SAVEPOINT", "SCALAR", "SCHEMA", "SCHEMAS",
    2452             :   "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
    2453             :   "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
    2454             :   "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
    2455             :   "SMALLINT", "SNAPSHOT", "SOME", "SOURCE", "SQL_P", "STABLE",
    2456             :   "STANDALONE_P", "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT",
    2457             :   "STORAGE", "STORED", "STRICT_P", "STRING_P", "STRIP_P", "SUBSCRIPTION",
    2458             :   "SUBSTRING", "SUPPORT", "SYMMETRIC", "SYSID", "SYSTEM_P", "SYSTEM_USER",
    2459             :   "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TARGET", "TEMP",
    2460             :   "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES", "TIME", "TIMESTAMP",
    2461             :   "TO", "TRAILING", "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM",
    2462             :   "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UESCAPE",
    2463             :   "UNBOUNDED", "UNCONDITIONAL", "UNCOMMITTED", "UNENCRYPTED", "UNION",
    2464             :   "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER",
    2465             :   "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
    2466             :   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
    2467             :   "VIEWS", "VIRTUAL", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P",
    2468             :   "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE",
    2469             :   "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS",
    2470             :   "XMLFOREST", "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT",
    2471             :   "XMLSERIALIZE", "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "FORMAT_LA",
    2472             :   "NOT_LA", "NULLS_LA", "WITH_LA", "WITHOUT_LA", "MODE_TYPE_NAME",
    2473             :   "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1", "MODE_PLPGSQL_ASSIGN2",
    2474             :   "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='", "'+'", "'-'", "'*'", "'/'",
    2475             :   "'%'", "'^'", "UMINUS", "'['", "']'", "'('", "')'", "'.'", "';'", "','",
    2476             :   "':'", "$accept", "parse_toplevel", "stmtmulti", "toplevel_stmt", "stmt",
    2477             :   "opt_single_name", "opt_qualified_name", "opt_concurrently",
    2478             :   "opt_drop_behavior", "CallStmt", "CreateRoleStmt", "opt_with",
    2479             :   "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
    2480             :   "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
    2481             :   "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt",
    2482             :   "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaEltList",
    2483             :   "schema_stmt", "VariableSetStmt", "set_rest", "generic_set",
    2484             :   "set_rest_more", "var_name", "var_list", "var_value", "iso_level",
    2485             :   "opt_boolean_or_string", "zone_value", "opt_encoding",
    2486             :   "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
    2487             :   "generic_reset", "SetResetClause", "FunctionSetResetClause",
    2488             :   "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
    2489             :   "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
    2490             :   "AlterTableStmt", "alter_table_cmds", "partition_cmd",
    2491             :   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
    2492             :   "opt_collate_clause", "alter_using", "replica_identity", "reloptions",
    2493             :   "opt_reloptions", "reloption_list", "reloption_elem",
    2494             :   "alter_identity_column_option_list", "alter_identity_column_option",
    2495             :   "set_statistics_value", "set_access_method_name", "PartitionBoundSpec",
    2496             :   "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
    2497             :   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
    2498             :   "copy_from", "opt_program", "copy_file_name", "copy_options",
    2499             :   "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
    2500             :   "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
    2501             :   "copy_generic_opt_arg", "copy_generic_opt_arg_list",
    2502             :   "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
    2503             :   "OptTableElementList", "OptTypedTableElementList", "TableElementList",
    2504             :   "TypedTableElementList", "TableElement", "TypedTableElement",
    2505             :   "columnDef", "columnOptions", "column_compression",
    2506             :   "opt_column_compression", "column_storage", "opt_column_storage",
    2507             :   "ColQualList", "ColConstraint", "ColConstraintElem",
    2508             :   "opt_unique_null_treatment", "generated_when", "opt_virtual_or_stored",
    2509             :   "ConstraintAttr", "TableLikeClause", "TableLikeOptionList",
    2510             :   "TableLikeOption", "TableConstraint", "ConstraintElem",
    2511             :   "DomainConstraint", "DomainConstraintElem", "opt_no_inherit",
    2512             :   "opt_without_overlaps", "opt_column_list", "columnList",
    2513             :   "optionalPeriodName", "opt_column_and_period_list", "columnElem",
    2514             :   "opt_c_include", "key_match", "ExclusionConstraintList",
    2515             :   "ExclusionConstraintElem", "OptWhereClause", "key_actions", "key_update",
    2516             :   "key_delete", "key_action", "OptInherit", "OptPartitionSpec",
    2517             :   "PartitionSpec", "part_params", "part_elem",
    2518             :   "table_access_method_clause", "OptWith", "OnCommitOption",
    2519             :   "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
    2520             :   "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt",
    2521             :   "create_as_target", "opt_with_data", "CreateMatViewStmt",
    2522             :   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
    2523             :   "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
    2524             :   "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
    2525             :   "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
    2526             :   "validator_clause", "opt_validator", "opt_procedural",
    2527             :   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
    2528             :   "CreateExtensionStmt", "create_extension_opt_list",
    2529             :   "create_extension_opt_item", "AlterExtensionStmt",
    2530             :   "alter_extension_opt_list", "alter_extension_opt_item",
    2531             :   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
    2532             :   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
    2533             :   "create_generic_options", "generic_option_list", "alter_generic_options",
    2534             :   "alter_generic_option_list", "alter_generic_option_elem",
    2535             :   "generic_option_elem", "generic_option_name", "generic_option_arg",
    2536             :   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
    2537             :   "opt_foreign_server_version", "AlterForeignServerStmt",
    2538             :   "CreateForeignTableStmt", "ImportForeignSchemaStmt",
    2539             :   "import_qualification_type", "import_qualification",
    2540             :   "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
    2541             :   "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
    2542             :   "RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck",
    2543             :   "RowSecurityDefaultToRole", "RowSecurityOptionalToRole",
    2544             :   "RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd",
    2545             :   "row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt",
    2546             :   "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
    2547             :   "TriggerReferencing", "TriggerTransitions", "TriggerTransition",
    2548             :   "TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName",
    2549             :   "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
    2550             :   "FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg",
    2551             :   "OptConstrFromTable", "ConstraintAttributeSpec",
    2552             :   "ConstraintAttributeElem", "CreateEventTrigStmt",
    2553             :   "event_trigger_when_list", "event_trigger_when_item",
    2554             :   "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
    2555             :   "CreateAssertionStmt", "DefineStmt", "definition", "def_list",
    2556             :   "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list",
    2557             :   "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
    2558             :   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
    2559             :   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
    2560             :   "CreateOpFamilyStmt", "AlterOpFamilyStmt", "opclass_drop_list",
    2561             :   "opclass_drop", "DropOpClassStmt", "DropOpFamilyStmt", "DropOwnedStmt",
    2562             :   "ReassignOwnedStmt", "DropStmt", "object_type_any_name",
    2563             :   "object_type_name", "drop_type_name", "object_type_name_on_any_name",
    2564             :   "any_name_list", "any_name", "attrs", "type_name_list", "TruncateStmt",
    2565             :   "opt_restart_seqs", "CommentStmt", "comment_text", "SecLabelStmt",
    2566             :   "opt_provider", "security_label", "FetchStmt", "fetch_args", "from_in",
    2567             :   "opt_from_in", "GrantStmt", "RevokeStmt", "privileges", "privilege_list",
    2568             :   "privilege", "parameter_name_list", "parameter_name", "privilege_target",
    2569             :   "grantee_list", "grantee", "opt_grant_grant_option", "GrantRoleStmt",
    2570             :   "RevokeRoleStmt", "grant_role_opt_list", "grant_role_opt",
    2571             :   "grant_role_opt_value", "opt_granted_by", "AlterDefaultPrivilegesStmt",
    2572             :   "DefACLOptionList", "DefACLOption", "DefACLAction",
    2573             :   "defacl_privilege_target", "IndexStmt", "opt_unique",
    2574             :   "access_method_clause", "index_params", "index_elem_options",
    2575             :   "index_elem", "opt_include", "index_including_params", "opt_collate",
    2576             :   "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
    2577             :   "opt_or_replace", "func_args", "func_args_list",
    2578             :   "function_with_argtypes_list", "function_with_argtypes",
    2579             :   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
    2580             :   "arg_class", "param_name", "func_return", "func_type",
    2581             :   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
    2582             :   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
    2583             :   "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
    2584             :   "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
    2585             :   "routine_body_stmt_list", "routine_body_stmt", "transform_type_list",
    2586             :   "opt_definition", "table_func_column", "table_func_column_list",
    2587             :   "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict",
    2588             :   "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes",
    2589             :   "any_operator", "operator_with_argtypes_list", "operator_with_argtypes",
    2590             :   "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt",
    2591             :   "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt",
    2592             :   "transform_element_list", "DropTransformStmt", "ReindexStmt",
    2593             :   "reindex_target_relation", "reindex_target_all",
    2594             :   "opt_reindex_option_list", "AlterTblSpcStmt", "RenameStmt", "opt_column",
    2595             :   "opt_set_data", "AlterObjectDependsStmt", "opt_no",
    2596             :   "AlterObjectSchemaStmt", "AlterOperatorStmt", "operator_def_list",
    2597             :   "operator_def_elem", "operator_def_arg", "AlterTypeStmt",
    2598             :   "AlterOwnerStmt", "CreatePublicationStmt", "PublicationObjSpec",
    2599             :   "pub_obj_list", "AlterPublicationStmt", "CreateSubscriptionStmt",
    2600             :   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
    2601             :   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
    2602             :   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
    2603             :   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
    2604             :   "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item",
    2605             :   "transaction_mode_list", "transaction_mode_list_or_empty",
    2606             :   "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt",
    2607             :   "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
    2608             :   "createdb_opt_item", "createdb_opt_name", "opt_equal",
    2609             :   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
    2610             :   "drop_option_list", "drop_option", "AlterCollationStmt",
    2611             :   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
    2612             :   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
    2613             :   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
    2614             :   "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
    2615             :   "utility_option_elem", "utility_option_name", "utility_option_arg",
    2616             :   "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
    2617             :   "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
    2618             :   "ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause",
    2619             :   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
    2620             :   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
    2621             :   "override_kind", "insert_column_list", "insert_column_item",
    2622             :   "opt_on_conflict", "opt_conf_expr", "returning_clause",
    2623             :   "returning_with_clause", "returning_options", "returning_option",
    2624             :   "returning_option_kind", "DeleteStmt", "using_clause", "LockStmt",
    2625             :   "opt_lock", "lock_type", "opt_nowait", "opt_nowait_or_skip",
    2626             :   "UpdateStmt", "set_clause_list", "set_clause", "set_target",
    2627             :   "set_target_list", "MergeStmt", "merge_when_list", "merge_when_clause",
    2628             :   "merge_when_tgt_matched", "merge_when_tgt_not_matched",
    2629             :   "opt_merge_when_condition", "merge_update", "merge_delete",
    2630             :   "merge_insert", "merge_values_clause", "DeclareCursorStmt",
    2631             :   "cursor_name", "cursor_options", "opt_hold", "SelectStmt",
    2632             :   "select_with_parens", "select_no_parens", "select_clause",
    2633             :   "simple_select", "with_clause", "cte_list", "common_table_expr",
    2634             :   "opt_materialized", "opt_search_clause", "opt_cycle_clause",
    2635             :   "opt_with_clause", "into_clause", "OptTempTableName", "opt_table",
    2636             :   "set_quantifier", "distinct_clause", "opt_all_clause",
    2637             :   "opt_distinct_clause", "opt_sort_clause", "sort_clause", "sortby_list",
    2638             :   "sortby", "select_limit", "opt_select_limit", "limit_clause",
    2639             :   "offset_clause", "select_limit_value", "select_offset_value",
    2640             :   "select_fetch_first_value", "I_or_F_const", "row_or_rows",
    2641             :   "first_or_next", "group_clause", "group_by_list", "group_by_item",
    2642             :   "empty_grouping_set", "rollup_clause", "cube_clause",
    2643             :   "grouping_sets_clause", "having_clause", "for_locking_clause",
    2644             :   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
    2645             :   "for_locking_strength", "locked_rels_list", "values_clause",
    2646             :   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
    2647             :   "opt_alias_clause", "opt_alias_clause_for_join_using",
    2648             :   "func_alias_clause", "join_type", "opt_outer", "join_qual",
    2649             :   "relation_expr", "extended_relation_expr", "relation_expr_list",
    2650             :   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
    2651             :   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
    2652             :   "opt_ordinality", "where_clause", "where_or_current_clause",
    2653             :   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
    2654             :   "xmltable", "xmltable_column_list", "xmltable_column_el",
    2655             :   "xmltable_column_option_list", "xmltable_column_option_el",
    2656             :   "xml_namespace_list", "xml_namespace_el", "json_table",
    2657             :   "json_table_path_name_opt", "json_table_column_definition_list",
    2658             :   "json_table_column_definition", "path_opt",
    2659             :   "json_table_column_path_clause_opt", "Typename", "opt_array_bounds",
    2660             :   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
    2661             :   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
    2662             :   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
    2663             :   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
    2664             :   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
    2665             :   "JsonType", "a_expr", "b_expr", "c_expr", "func_application",
    2666             :   "func_expr", "func_expr_windowless", "func_expr_common_subexpr",
    2667             :   "xml_root_version", "opt_xml_root_standalone", "xml_attributes",
    2668             :   "xml_attribute_list", "xml_attribute_el", "document_or_content",
    2669             :   "xml_indent_option", "xml_whitespace_option", "xmlexists_argument",
    2670             :   "xml_passing_mech", "within_group_clause", "filter_clause",
    2671             :   "window_clause", "window_definition_list", "window_definition",
    2672             :   "over_clause", "window_specification", "opt_existing_window_name",
    2673             :   "opt_partition_clause", "opt_frame_clause", "frame_extent",
    2674             :   "frame_bound", "opt_window_exclusion_clause", "row", "explicit_row",
    2675             :   "implicit_row", "sub_type", "all_Op", "MathOp", "qual_Op", "qual_all_Op",
    2676             :   "subquery_Op", "expr_list", "func_arg_list", "func_arg_expr",
    2677             :   "func_arg_list_opt", "type_list", "array_expr", "array_expr_list",
    2678             :   "extract_list", "extract_arg", "unicode_normal_form", "overlay_list",
    2679             :   "position_list", "substr_list", "trim_list", "in_expr", "case_expr",
    2680             :   "when_clause_list", "when_clause", "case_default", "case_arg",
    2681             :   "columnref", "indirection_el", "opt_slice_bound", "indirection",
    2682             :   "opt_indirection", "opt_asymmetric", "json_passing_clause_opt",
    2683             :   "json_arguments", "json_argument", "json_wrapper_behavior",
    2684             :   "json_behavior", "json_behavior_type", "json_behavior_clause_opt",
    2685             :   "json_on_error_clause_opt", "json_value_expr", "json_format_clause",
    2686             :   "json_format_clause_opt", "json_quotes_clause_opt",
    2687             :   "json_returning_clause_opt", "json_predicate_type_constraint",
    2688             :   "json_key_uniqueness_constraint_opt", "json_name_and_value_list",
    2689             :   "json_name_and_value", "json_object_constructor_null_clause_opt",
    2690             :   "json_array_constructor_null_clause_opt", "json_value_expr_list",
    2691             :   "json_aggregate_func", "json_array_aggregate_order_by_clause_opt",
    2692             :   "opt_target_list", "target_list", "target_el", "qualified_name_list",
    2693             :   "qualified_name", "name_list", "name", "attr_name", "file_name",
    2694             :   "func_name", "AexprConst", "Iconst", "Sconst", "SignedIconst", "RoleId",
    2695             :   "RoleSpec", "role_list", "PLpgSQL_Expr", "PLAssignStmt",
    2696             :   "plassign_target", "plassign_equals", "ColId", "type_function_name",
    2697             :   "NonReservedWord", "ColLabel", "BareColLabel", "unreserved_keyword",
    2698             :   "col_name_keyword", "type_func_name_keyword", "reserved_keyword",
    2699             :   "bare_label_keyword", YY_NULLPTR
    2700             : };
    2701             : 
    2702             : static const char *
    2703             : yysymbol_name (yysymbol_kind_t yysymbol)
    2704             : {
    2705             :   return yytname[yysymbol];
    2706             : }
    2707             : #endif
    2708             : 
    2709             : #define YYPACT_NINF (-5950)
    2710             : 
    2711             : #define yypact_value_is_default(Yyn) \
    2712             :   ((Yyn) == YYPACT_NINF)
    2713             : 
    2714             : #define YYTABLE_NINF (-3012)
    2715             : 
    2716             : #define yytable_value_is_error(Yyn) \
    2717             :   ((Yyn) == YYTABLE_NINF)
    2718             : 
    2719             : /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    2720             :    STATE-NUM.  */
    2721             : static const int yypact[] =
    2722             : {
    2723             :    18907,    57, 22319, -5950, -5950,    57, 71864, -5950, 81573,  1501,
    2724             :      903,   105,   239, 21650, 82084, 92815,   591,   402,  9883,    57,
    2725             :    92815,  1074, 62154, 77485,  1029, 92815,  1518,  1161, 62154, 92815,
    2726             :    93326,  1410,  1637,  1377, 93837, 82595, 76463,   113, 92815,  1692,
    2727             :      463, 94348, 83106,  1625, 83617,  1161, 57055,   213,  1567, 94859,
    2728             :    92815,119814,   463, 84128, 84128, 84128,  2431,  2279,  1783, -5950,
    2729             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2730             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2731             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2732             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2733             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2734             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2735             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2736             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2737             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2738             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2739             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2740             :    -5950, -5950, -5950, -5950, -5950,  1537, -5950, -5950, -5950, -5950,
    2741             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2925, -5950,   212,
    2742             :     3240,  1417,  1229,  1710, -5950, -5950,  2426, 71864, 92815, 92815,
    2743             :    92815,  2196, 92815,  2105, 92815,   964, 71864, 68287, 84639,  2265,
    2744             :     2110, 52851, 95370, -5950, 71864, 92815, 65732, 71864, 92815, 92815,
    2745             :    95881, 92815, 96392, 92815,   139, 80040, 92815,  2251, 92815, 92815,
    2746             :    66243, 96903,  2357,  1649,   273, -5950, -5950, -5950, -5950, -5950,
    2747             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2748             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2749             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2750             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2751             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2752             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2753             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2754             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2755             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2756             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2757             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2758             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2759             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2760             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2761             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2762             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2763             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2764             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2765             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2766             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2767             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2768             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2769             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2770             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2771             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2772             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2773             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2774             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2775             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2776             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2777             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2778             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2779             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2780             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2781             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2782             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2783             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2784             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2785             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2786             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2787             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2788             :    -5950, -5950,  2119,  2066, -5950,   285, -5950, -5950, -5950, -5950,
    2789             :    -5950, -5950, -5950, -5950, -5950, 62665, 92815, 13260,  1518,  2426,
    2790             :    -5950,  2431, 92815,  2390, 92815,  2136, 97414, 92815, -5950, 92815,
    2791             :     2178, 97925,   976,    84, 68287,  1824, 53381,  2308, 92815, 92815,
    2792             :    68287, 98436, 98947, 99458, 92815, 92815, -5950, -5950,  2294, 92815,
    2793             :    -5950,  2415, 68798,  1855,  2437,  2627,  2511,  1493, -5950, 85150,
    2794             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 71353,   402,
    2795             :    -5950, -5950,  2473, 72375,  2568, -5950, -5950, 99969,120311,  2323,
    2796             :    -5950,   999, 72886, 69309,  2707,  2372, 53911,  2754, -5950, 73397,
    2797             :    -5950, 69820, 73908, -5950, -5950, -5950, -5950, -5950,100480, -5950,
    2798             :   100991,  2455,  2568, -5950,120808, 70331, -5950,  2636,101502,102013,
    2799             :   102524,  2426,  2353,  1557,  2441, 47122, -5950, -5950, -5950,  2366,
    2800             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,   457,
    2801             :     1802,   319,   264,   332, -5950, -5950,   274,   277,   283,   457,
    2802             :     2873,  2873, -5950, 92815, -5950, -5950,  1802,   106,  2474,  2397,
    2803             :     2397,  2397,  2598,    22, -5950,  2397,  2503, -5950, -5950, -5950,
    2804             :    -5950, 83617, -5950,  2387,  1518,  2401,  2883,  2465, 62665,  1189,
    2805             :    92815, -5950, -5950,  2930,  2476,  2766,  2452, -5950, -5950, -5950,
    2806             :     2709,  2711,   166,   782,  1518,   302, -5950,  2864, -5950,  2731,
    2807             :    31907, 31907,  1518, 85661,103035,   340, 71353,  1518, 86172,  2534,
    2808             :      276,  2735, -5950, -5950, -5950,   184, -5950,  3007,  2548,  2847,
    2809             :     2452,  1649, 49190, -5950, -5950,  2566,  2066, 83617, -5950, -5950,
    2810             :    -5950, 62665,  2898, 35081, 92815,  2560, -5950,  2580,  2560, -5950,
    2811             :    -5950,  2647, -5950,  2647,  2647,  2625,  2625,  2798,  2644, -5950,
    2812             :    -5950, -5950, -5950,  2061,  2647,  2625, -5950,121802, -5950,  2012,
    2813             :     2017, -5950, -5950,  3147, -5950, -5950, -5950, -5950, -5950, -5950,
    2814             :    -5950, -5950,  2649, -5950,  1392, -5950,  2044, -5950, -5950, -5950,
    2815             :    31907, -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2661,  2681,
    2816             :     1417, -5950,  8270, 62665, 83617,  1729,  1729,  3165,  1729,  2070,
    2817             :     2082, -5950,  3333, -5950,  3050,  3010,  3014, 83617,  2752,   339,
    2818             :    -5950,  1927,  2758,  2090,  2700,  1942,  3306, -5950,   745, 92815,
    2819             :      295,  2765, 86683,  4056,  2759,  2066,  2776, -5950, -5950, -5950,
    2820             :    -5950,  2875,   449, -5950, -5950, -5950, -5950,  3045,  3113,  5946,
    2821             :      369, 87194, -5950, -5950, -5950, -5950, 92815, 92815, -5950, -5950,
    2822             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  2790,  1560, -5950,
    2823             :    -5950,  2799,  3124,  3032,  9757,  1077,  3148,  2981,  2085, 10312,
    2824             :     3044,  1859,  3200, 15841,  1643,  3204,  1970,  2541, 87705, 92815,
    2825             :     3174,  3230,  5628,  1963,   948,  3081,  1513,  3148,  3223,  3035,
    2826             :     2085,  3247,  2746, 92815, -5950,  3155,  3292,   832, -5950,   358,
    2827             :    -5950, 24556, 35081, 56544, -5950,  2066, -5950,  2072, -5950, -5950,
    2828             :    61643, -5950,  2936,  3106,   131, 71864,  2882, 92815, 92815, -5950,
    2829             :   119814, 71864, -5950,  3117, 54441, 71864, -5950, 71864, -5950, -5950,
    2830             :     3249,119814, 92815, 92815, -5950, 92815, -5950, -5950,  2885, -5950,
    2831             :    -5950, -5950, -5950, -5950,  2397, 92815,  3351,119814,  3131,   180,
    2832             :     1827,  3388, 92815,  3134,  1827,  2931,103546, -5950, -5950,  1827,
    2833             :    -5950, -5950, -5950, 92815, 92815,  2894,  2289,  3125,   928,  1827,
    2834             :     3141,  3389,  3391,  3149,  2983,  3151,  2580, -5950,  3357,  3120,
    2835             :      953,   247,  2205,  1827,  2965,104057,104568, 92815,  2977, 92815,
    2836             :     3376, 71864,  3012, 71864, 71864, 92815,  3296, 92815, -5950,  3122,
    2837             :    -5950, -5950,  1471, -5950, -5950, -5950, -5950, -5950,  3314, -5950,
    2838             :      240,  3315,  2942,  3321,  1946,  3324,   241, -5950, -5950,  2990,
    2839             :    -5950,  3335,   244, -5950,  3338, -5950,  2957,105079, -5950,105590,
    2840             :   106101,  3340,   290, -5950, 68287,  3343,   244,  3344,  2957,  3346,
    2841             :      244,  3348,  1007,  3350, -5950,  1028,  3337,  3352,   241,  3353,
    2842             :     2250,  2957, -5950,  3354,   309, -5950,  3358,   390, -5950,  3360,
    2843             :     3203, -5950, 35081, -5950,  3080, -5950,  1567,  2122,  2441,  1802,
    2844             :    -5950, 92815,  1802, 92815,  1802, 92815,  1802, 92815,  1802, 92815,
    2845             :    92815, 92815,  1802, -5950, -5950, -5950, 92815,  2984, 92815, -5950,
    2846             :    92815, -5950, -5950, -5950, 78507, 68287, 79018, -5950, 92815, -5950,
    2847             :      858,  1518, -5950, -5950,119814,  3484, 68287,  3376,  2123, -5950,
    2848             :    -5950,  3376, -5950, -5950,  3376,  3376, -5950, -5950, -5950,  3271,
    2849             :    92815,  3356, 78507, 68287,  3362, -5950,106612, -5950, 71353,  3216,
    2850             :     2999, -5950, -5950, -5950, -5950, -5950,  2086,  3531,   292,  3532,
    2851             :    35081,  3008,   292,   292,  3011,  3371, -5950, -5950, -5950,   300,
    2852             :     3015,  3017, -5950,   303,   303, -5950,  3019,  3024, -5950,   308,
    2853             :     3025,  3026,  3542,  3561,   321,   327,  3033,  3034,  3038,  3039,
    2854             :     3042,  3046,  3047,  3049,  3053,  3055,  3059,  3060,  3064,  2061,
    2855             :      292,  3065, 35081, -5950,  3067,   303,  3068,  3070,  3071,  3565,
    2856             :     3072, -5950,  3575,  3073, -5950,   272,   315,  3074,  3075, -5950,
    2857             :     3322, -5950,   328,  3085,  3087,  3090,  3091,  3093,  3094,  3095,
    2858             :     3097, 35081, 35081, 35081, -5950, 29257,  2066,  1518, -5950, -5950,
    2859             :    -5950, -5950, -5950, -5950, -5950, -5950,   334, -5950, 51261, -5950,
    2860             :     3140, -5950, -5950,  3323, -5950, -5950, 35081, -5950, -5950,  3470,
    2861             :      860, -5950,   346, -5950, -5950, -5950,  2066,  3421,  3108, -5950,
    2862             :    -5950,  1699,  3111, -5950,  1152, -5950, -5950, -5950, -5950, -5950,
    2863             :    -5950, 70842,  3612, -5950,   380,  1518,   358,  1484,  3549, 60110,
    2864             :    60621, -5950, -5950,  3402, -5950, 92815, -5950, -5950,  2066,   231,
    2865             :     2130, -5950,  2366, 21127,  2143,  2560, 92815, 92815,  3617, -5950,
    2866             :     3123, -5950, -5950, 35081, -5950, -5950, -5950,  2873, -5950,  2647,
    2867             :     2647, -5950, -5950,  3619,  3214,  3217,  2873, -5950,  2873, -5950,
    2868             :     3130,  3135,  2873,  3220,  3224,  3225, -5950,  3139,  3228,  2873,
    2869             :    -5950, -5950, 63688,  2112, -5950,  3499,   375, -5950, -5950, -5950,
    2870             :     2151, -5950,  3150, -5950,  2580, -5950, -5950,  1417,  1417, 35081,
    2871             :     1417,   965,  1313, 32436, 35610,  3508,  3379,   307,  1601,  3515,
    2872             :    -5950,  3384,  2070,  2082, 83617, 92815, 83617,107123,  3286, 35081,
    2873             :    -5950,  3624,  3246,  3248,  3307, 59099, -5950,  3250,  3215,  3253,
    2874             :     3312,  3168,  3255,  3259,  3318, -5950,  3458, -5950, -5950,  3265,
    2875             :     3635,  3267,107634, -5950, -5950,   985, -5950, -5950, -5950,   985,
    2876             :    -5950,  3195,  1334,  1441,  1390,  3275,   414,   255,  3632, -5950,
    2877             :     1401, -5950, -5950,  3339, -5950, 22178, 92815,  3567,  6817,  3417,
    2878             :      369,  3336, -5950, -5950, -5950,  3479,  3282, 92815,  3284,  3435,
    2879             :      369,   992,108145, -5950, -5950, 92815, -5950, -5950, -5950, -5950,
    2880             :     6180,  3606, 27732, -5950,  1951,  3288,  3263,  3299, 92815, 74930,
    2881             :      440,  3407,  3429,  1660,  2236,   291,  3361, 92815,  1912,  3437,
    2882             :    92815,  3206,  3295,  3297,  3553,  3213,  1166,  3658,  3211, -5950,
    2883             :    -5950, -5950,  3626, -5950,  1530,  1897,  3433, -5950,  3562,  3597,
    2884             :     7471,  3298,  3301,117826, -5950,  3320,   772, 54971, 92815, 92815,
    2885             :     3327,  3329,108656,  6180,  3641, 79529, 79529,  3332,  3341, 48673,
    2886             :     3656,   829,  3342, -5950, -5950, -5950,   829,  3345,  3349,109167,
    2887             :     6180,  3644, 92815,  3359,  3363, 92815,121802,   369, -5950,  3722,
    2888             :    -5950,   369,   369,  2260,  3723,  3364,   399,  3506,   636,  1827,
    2889             :    -5950,  3211,  2453, -5950,  3372,  3375,  1024, -5950,  3471, 92815,
    2890             :     3377,  3378,  1847,  3431,  1518, -5950,  3434, -5950,  3380,  3438,
    2891             :     3382,    86,  2894, -5950, -5950,  1311,  3365, 83617,  3455,  3463,
    2892             :     1912,   496,  1034,  3211, -5950,  3383,  3385,  3213,  3213, 92815,
    2893             :    92815, 92815, 92815, 92815,   281,  3749,   326,  3386,   298,  1069,
    2894             :     3260, -5950,   829, 66754,  3390, -5950,   829, 92815,   289,  1130,
    2895             :     3211,  1870,  2095, -5950, -5950, -5950,  1649, -5950, 35081, 35081,
    2896             :    35081,  3264, -5950,  2432, 21127,   112, -5950,   348, 17010,  3283,
    2897             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2898             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2899             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2900             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2901             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2902             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2903             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2904             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2905             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, 92815, 62665, -5950,
    2906             :    -5950, -5950, -5950, -5950, -5950, -5950, 92815, -5950, 92815,  3579,
    2907             :   119814,  3580,  3496,  3583,  3602,   369, 92815, 92815,  3611,  3614,
    2908             :     3616,119814,  3618,  3622,  3623,  3534,  3394,   219,  3393,  3313,
    2909             :     3814,  3697, 92815, 63688, -5950,   985, -5950,119814,  3546,  3709,
    2910             :    -5950, 92815,  3576,    98, -5950,  3748,  3397, -5950, -5950,   111,
    2911             :    92815, 77996,  2894, -5950, -5950,  3713, 68287,  1737,  3714,  1518,
    2912             :     3392,  3717,  3569,  1518, 68287,  3620, 92815, 92815, 92815, 92815,
    2913             :      189, -5950, 66754,  3584, -5950, 92815,  3588,  2453,  3589,  3848,
    2914             :      921,  2397,109678,  3715, -5950,110189,  3367, 92815,  3368,  3368,
    2915             :     3851,119814,  1492,  3647, -5950, -5950,  2337, -5950,  3501, -5950,
    2916             :    71864, -5950, -5950, 71864, -5950, -5950,119814, 92815,  3370,119814,
    2917             :   119814, -5950, -5950, 71864, 71864, -5950, 68287, 68287,  3736,   309,
    2918             :     3737,  3424,  3740,  3439, 54971, 54971, -5950,   394, 71864, -5950,
    2919             :    68287, 71864, -5950, 92815, -5950, 92815, -5950, -5950, -5950, -5950,
    2920             :   119814,119814, -5950, 68287, 66754,  3750, 92815, 92815, -5950, 92815,
    2921             :    92815, -5950, 92815, 92815,  2157,110700,  2441, -5950, 92815, -5950,
    2922             :    92815, -5950, 92815, -5950, 92815, -5950, 92815, -5950, -5950, -5950,
    2923             :    92815, -5950, 92815,  2163, -5950, -5950,  2174,  1592, 92815, 92815,
    2924             :     1095, 71864, 92815,  3605, 92815, 71864, 71864, 92815, 92815, 92815,
    2925             :    92815, 92815,  3462,  3111,   893, -5950,   349,   977, 83617,  3621,
    2926             :    -5950, -5950,  2175,  2431,    50, 92815, -5950, 92815, 92815, 92815,
    2927             :    -5950, -5950, 77485,  3733,   446, 79018, 92815, -5950, -5950,  4223,
    2928             :    35081,  2066, 31373, -5950, -5950, 21127,  3426, 35081, 35081,  3381,
    2929             :     2873,  2873, -5950,  1003, 35081, 35081, 35081, 28728, 35081, 35081,
    2930             :    32965, 35081, 35081, 35081, 35081, 35081, 35081,  2873,  2873,  3387,
    2931             :    35081,  6186, 35081, 54971, 35081, 40900, 25626, 35081, 35081, 29786,
    2932             :      314,  3019, 35081,  3639, 41952, 35081,  1484,  3642, 35081,  1484,
    2933             :     6186,  3907,  3907,  2278,  8894,  3395,  2066, -5950,  2873,  1089,
    2934             :    -5950,   545,119814, 35081, 35081, 35081, -5950, -5950, -5950, -5950,
    2935             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2936             :    -5950, 35081, -5950, 63688, -5950, -5950, -5950, -5950, -5950, -5950,
    2937             :      183, -5950, -5950, -5950, -5950, -5950, -5950,  3226, -5950, -5950,
    2938             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2939             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2940             :    -5950, 92815, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2941             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2942             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2943             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2944             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2945             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2946             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2947             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2948             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2949             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2950             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 30315,
    2951             :    -5950, -5950, -5950, -5950,  3400, -5950, -5950, -5950, -5950, -5950,
    2952             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2953             :    -5950, -5950, -5950, -5950, -5950,  2890, -5950, -5950, -5950, -5950,
    2954             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2955             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2956             :    -5950, -5950, -5950, 30844, -5950, -5950, -5950, -5950, -5950, -5950,
    2957             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2958             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2959             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2960             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2961             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  3401, -5950, -5950,
    2962             :    35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2963             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2964             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2965             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2966             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2967             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2968             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2969             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2970             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,  3473, -5950, -5950,
    2971             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2972             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2973             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2974             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2975             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2976             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2977             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2978             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2979             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    2980             :    -5950, -5950, -5950, -5950,   942, 35081, 35081, 35081, 35081, 35081,
    2981             :    35081, 35081, 35081, 35081, -5950, 35081,   548, -5950, -5950,  3735,
    2982             :     3470,   719,   627,  3403,  3604, 88216, 31907,  3499, 24556, -5950,
    2983             :      293,  3499, -5950, -5950, -5950, 92815,  3612, -5950, -5950,  3476,
    2984             :    -5950, -5950, -5950, -5950, -5950,   351, -5950, -5950, -5950, -5950,
    2985             :    -5950, -5950, -5950,  3406, -5950, -5950, -5950, -5950,  3406, -5950,
    2986             :     3405,  3728,  3732,  1007, 83617,  2517, 35081,   183,   282, 92815,
    2987             :    35081,  3400,  2890, 35081,  3401, 35081,  3473, -5950, 35081, -5950,
    2988             :     2208,   245, 35081,  2228,  3410, -5950, -5950,  3396,  3135,  3416,
    2989             :     3430,  3411,  3412,  2873,   262,  3414,  1434,   203,  3558,  2873,
    2990             :     3678,  3418, -5950, 63688, -5950, 44020,  3466, -5950, -5950, -5950,
    2991             :      463, 83617, 83617, -5950,  3741, -5950,  3427, -5950, 17325,  3741,
    2992             :    -5950, -5950, 41426,  3551,  3720,  3653, -5950, -5950, -5950,  3432,
    2993             :    21127, 36139, 36139, -5950,  2342, 21127,  2347, -5950, -5950, -5950,
    2994             :    -5950, -5950, -5950,  1629, -5950, 92815,   848,  3508,  1601,  3485,
    2995             :     1333,  3933,  3504, 92815, -5950, 49707,  2229, -5950, 68287, 92815,
    2996             :    92815,  3655, -5950,  3919, -5950,121802, -5950,  3442, -5950,121305,
    2997             :   116832, -5950, -5950,  1151, -5950,  1449, 68287, -5950, 92815, 92815,
    2998             :    68287, 92815, 92815, -5950, 68287,  3497, 92815, 92815, -5950, -5950,
    2999             :    -5950, -5950, -5950, 61132,  1099, 77485,  3590, 76974, -5950, -5950,
    3000             :     3451, 92815,  3691, -5950, -5950,111211, -5950,  3692, 68287, 92815,
    3001             :    92815, 35081,  3693, 92815, 92815, -5950,   411,  3545,  3547, -5950,
    3002             :    92815,  3550, 71864,  3461,119814, 71864, 55501, 71864, 71864,  3822,
    3003             :   119814, 92815, 92815,  1485, 83617,   514,  1165,  3211,  3702, -5950,
    3004             :     1483, -5950, 68287, -5950, 92815,  3694, -5950, -5950, -5950, 88727,
    3005             :     3953,  3591, -5950, -5950, -5950,111722, -5950, -5950,  3695, -5950,
    3006             :     2243, -5950, 68287, 68287, 92815,  7629,  3472,112233, 92815,  1102,
    3007             :     3761,  3716,  3712,  3766,  1142, -5950, -5950, -5950,119814, -5950,
    3008             :    92815, 89238, 92815, 92815,  3759, 92815, 80551,112744,113255,  1564,
    3009             :     1638,  3760, 92815, 81062,  3762, -5950,  3628, 92815, -5950, -5950,
    3010             :    64199, 68287, 92815,   221, 63688, -5950,  3744, -5950, 92815, -5950,
    3011             :      956, -5950, 92815,  8086,  3706, -5950, -5950,  3570,  3581, 92815,
    3012             :      520,  1236,  3211,  3889, 92815, 92815,  3482,  2245, 68287, 92815,
    3013             :    63688, -5950,  3718,   799, 68287, 92815, 88727, -5950,  3719, -5950,
    3014             :    83617,  3821, -5950,  3486,  2397,  2566,  2079,  3486, 68287, 92815,
    3015             :    -5950,  3486, 92815,103035, -5950, 68287,  1207, -5950, 68287, 92815,
    3016             :    88727, -5950,  3726,  3657, 68287, 92815, 18461, -5950, -5950, -5950,
    3017             :      369, -5950, -5950, -5950, -5950, -5950, 92815, 92815,   369, 92815,
    3018             :    92815,   369,  1746, -5950, 68287, 92815, -5950, -5950, -5950,  3627,
    3019             :    68287, 92815, 92815,   366, 92815, -5950, 92815, 68287,  3539, 92815,
    3020             :    92815, -5950, -5950, 92815,  7036, 92815, 92815, 92815, 92815, 92815,
    3021             :    92815, 68287, 92815, -5950, -5950,  2338,  1140,   830,  1162,   207,
    3022             :    92815,  3828, 92815,113766,  1518, 68287, 92815, 92815,  1518, 92815,
    3023             :    63688,  1794, -5950, -5950,  3633, -5950, 68287,  1207, -5950,  8066,
    3024             :    92815, 92815, 92815,  3592,  3593,   278,  3670, -5950, -5950, -5950,
    3025             :      935,   935,  3721, -5950, 35081, 35081, 33494,  3505, -5950, -5950,
    3026             :    35081,  2936, -5950, -5950, -5950,  1075,  4005,  1075,114277,  1075,
    3027             :     1075,  3820,  3573,  3587,  1075,  1075,  1075,  3809,  1075,  1075,
    3028             :     1075, 92815,  3705, -5950, -5950,  3705,   865, 35081,119814, 92815,
    3029             :    -5950,  2259, -5950,  3528, -5950, -5950, 63688, 92815,   234,   987,
    3030             :     3903,  3758, 75441,  2288,  3892, 92815,  3582, 92815,  4027,  3630,
    3031             :     1498, -5950,  2288, 92815, -5950,  3110, 77485, -5950, -5950, -5950,
    3032             :    -5950, -5950, -5950, -5950, 92815, -5950, -5950,  3894, 92815, 44537,
    3033             :     3724, -5950,  1518,  2894,  2894,  2894,  2894,  3533,  2894, 92815,
    3034             :     3671,  3915,  2288,  3538,  3917, -5950,  2453,  3918,  2007, 92815,
    3035             :     3774, 75441,  3608,  3586,  3789,  4045,  2397,  1518,  3791,  3775,
    3036             :    -5950, 59599, -5950,  2894,  4060, 28230,  4657,  5328,  3778,  3845,
    3037             :    -5950, -5950,  3790,   959, 92815,  3900,  3902,  3926, -5950,   240,
    3038             :    -5950,  4061,  1946,  3928,   241, -5950,   244, -5950,  2957, -5950,
    3039             :    92815, -5950, 92815, 92815, 92815, 92815,   290, -5950, -5950,   244,
    3040             :     2957,   244,  1007, -5950,  3858,   241,  2957,  3704,  3934,   309,
    3041             :    -5950,   390, -5950,  3795,  1007, -5950,  3815,  2397, -5950, -5950,
    3042             :    -5950, -5950, -5950, -5950, -5950,  2267, -5950, 92815, -5950,  3908,
    3043             :     3910,  3911,  3913,  3914,  3577,  3596,  3640, 92815,  3601,  3577,
    3044             :      369,  3603,  3585, -5950,  3601,  3601,  3577,  3111,  3111,  3577,
    3045             :     3596, 67265,  4065, 63688, -5950, -5950,  3696,  3609,  3964,   878,
    3046             :    -5950,   883,    87,  3872, -5950, -5950, -5950, -5950,119814, -5950,
    3047             :    68287,  3659, -5950, -5950, -5950,  3839,  3610, 67265,  1007,   172,
    3048             :    -5950, 71864, 92815,119814, 71864,  3854, 71864, 71864,119814, 92815,
    3049             :    92815,  2277, -5950,   -13, -5950,  2019, 35081,   558, -5950, 18188,
    3050             :     2281, 35081,  3625,  3629, -5950, -5950, -5950, -5950, -5950, -5950,
    3051             :    -5950,  3634,  3980, -5950,  2283,  2299, 18294,  2360,119814,  2518,
    3052             :     3645, -5950,  3646,   261,  3844,  3651,  3743,  3683,  2322,  3650,
    3053             :      301, -5950,  3743,  1114,  3660,  9087,  3788,  3663,  2328,  3661,
    3054             :     3667, -5950,  7001,  7654,  3668, 18825,  3669,  3676,  3677,  3631,
    3055             :    40900, 40900, 29257,  1119, -5950, 40900,  3679,  3847,  2332, 17083,
    3056             :     3680,  3682, 19001, 34023, 35081, 34023, 34023, 19139,  3686,  3701,
    3057             :    -5950,  4046, -5950,  2348, 63688,  3850, 19531,  2361, -5950, 35081,
    3058             :    63688,  8492, 35081, -5950, 35081,  3708, -5950, -5950,  2928,  2928,
    3059             :     2928,  6186, -5950, -5950,  3672, -5950, 40900, 40900, -5950,  1676,
    3060             :    29257, -5950, -5950,  4006, -5950, -5950,   265, -5950, -5950, -5950,
    3061             :    -5950, -5950,  3355, -5950, -5950, -5950,  3896,  2360,  3287, 54971,
    3062             :     3648, 35081,   368, 35081,  3400, 35081,  3781,  2928,  2928,  2928,
    3063             :      389,   389,   336,   336,   336,  2131,   627, -5950, -5950, -5950,
    3064             :     3703,  3711,  3604,  3725, 35081, -5950,  3707, 50224, -5950,  2526,
    3065             :     2654, 92815,  4741,  4878,  6450, -5950, -5950, -5950,  3466,   112,
    3066             :     3466, -5950,  1649,  2873,  1089, 61643, -5950, -5950, -5950, -5950,
    3067             :    -5950, -5950, 83617, 21127, -5950, -5950,  3929,  3727,  2362, -5950,
    3068             :    -5950,  2873, -5950, -5950,  2181,  2181,  3673, -5950,  3729, -5950,
    3069             :    -5950, -5950, -5950, -5950, -5950, -5950,  3739, -5950, -5950, -5950,
    3070             :     3730,  3742, 45054,  4063,  3746, 43503, 89749,  3710,  2684, -5950,
    3071             :    89749, 90260, 89749, 89749, -5950,  3745, -5950, -5950,  2066, 35081,
    3072             :     4055, -5950, -5950, -5950, 35081, -5950, -5950,  1828,  3763,  1056,
    3073             :     1250,  2321,  2321,  2342,  1298, -5950, -5950,  3782, -5950, 35081,
    3074             :     2364, -5950,  2371, -5950, -5950, -5950, -5950,  3111, -5950,  3990,
    3075             :    -5950, -5950, -5950, 44020,  3767,  3777,    75, 48156,  3949, -5950,
    3076             :    92815, 44020, -5950, 92815,   223, -5950,  3734, -5950, -5950, -5950,
    3077             :    -5950, -5950, -5950,116832,  2044, -5950,121305, -5950,121305, -5950,
    3078             :     2044,  4206, -5950,116832,  1939, -5950, -5950, -5950, -5950, -5950,
    3079             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, 68287, 68287,
    3080             :     3970, 92815,  3972,  3973, 35081,  1172, -5950,  4132,  1007, -5950,
    3081             :    -5950,  3843, -5950, 21127, -5950, -5950, -5950, -5950, -5950, 68287,
    3082             :    92815, -5950, 71353, -5950, -5950,119814, -5950, -5950, 92815, 92815,
    3083             :    -5950, -5950, -5950,119814, -5950, -5950, -5950, 92815,   197,  3846,
    3084             :     3852, 92815, -5950,  1338,  3471,  8116, 92815, 92815, 92815,  4077,
    3085             :    -5950, -5950, -5950, -5950,  3995, -5950,  4134, -5950,116832, -5950,
    3086             :     2957,   153,  3853,  3211, 35081,  4011, -5950,   925, 92815,  3770,
    3087             :     3771,  4141, 92815,  1653,  4101,  3776, -5950,  3888,  4104,  3912,
    3088             :     2107, -5950, -5950,  3922, -5950, -5950, -5950, -5950,  4156,  1007,
    3089             :     4160,  1007, 92815, 92815, 92815, 92815,  3927, -5950, -5950, -5950,
    3090             :    -5950,  3930,  4069, -5950, 63688, 63688, 63688,  2376, -5950, -5950,
    3091             :     1518, -5950, -5950, -5950, -5950, -5950, -5950,  4116, -5950,  2381,
    3092             :    -5950,   668, 90771, -5950, -5950, -5950, -5950, -5950,  4163, 68287,
    3093             :    92815,  9411, 92815, 92815, 92815,  4016,  2068,  1155,119814, -5950,
    3094             :   118323, -5950, -5950,  2386, -5950,  3801, 92815,  3880, 68287,  3856,
    3095             :    -5950, -5950, -5950,  4169,  2397,  3941, 79529,  3842,  3842,  2109,
    3096             :    -5950, -5950, -5950, -5950, -5950,  4079,  4002, -5950,  1080,  4003,
    3097             :    68287,  3868, -5950, -5950, -5950, -5950,  4178,  3895, -5950, -5950,
    3098             :     3898,  1349,  3211,  2453, -5950, -5950, -5950, -5950, -5950, -5950,
    3099             :    -5950, -5950, -5950,  3920, -5950, -5950, -5950, -5950, -5950, -5950,
    3100             :     1700,  1700, -5950, -5950, -5950,  1700,  1239,   543,  1445,  3211,
    3101             :    -5950,   371,  1487,  3899, -5950,  3904, -5950, -5950, -5950,  4084,
    3102             :     4086,  4087,  3916,  3923,  3966,  3924,  3925,  3975, -5950,  3931,
    3103             :     3976,  3932,  3977,  3937,  4235,  1007,119814,  4075,  1518,  3971,
    3104             :     4218,  1007, -5950, -5950,  3938, -5950,  3939, -5950,  2391,  4330,
    3105             :     4331, -5950, 92815, -5950,   550,  1854,  3211, -5950,  3940, -5950,
    3106             :    68287, 92815, -5950, -5950, -5950, 35081,  3855,  3857,  3859, 21127,
    3107             :    21127, 35081, -5950, -5950, 21127,  3860, -5950, -5950, -5950, -5950,
    3108             :   119814, -5950, 92815,  4164, -5950, -5950,  1075, 92815, 92815, -5950,
    3109             :    -5950, -5950, 92815, -5950, -5950, -5950,  4165, -5950,   533,   533,
    3110             :    -5950, -5950,  4201,  9159,  3861,   355, -5950, 63688, 51791,  4522,
    3111             :      202,  1827, -5950, 71353, 92815, 71353, -5950,   987,  4085, 92815,
    3112             :    92815, 92815,  3863,  3862, -5950, -5950, -5950, -5950, 68287,   901,
    3113             :    68287,  2873, -5950, -5950,  3943, -5950, 92815,  2397,  4401,  4233,
    3114             :     3539, -5950,  4358,  3391,  1737,  1911,   529,  2983,  4294,  2580,
    3115             :    35081,   362, -5950, -5950,  2066, 92815,  3586, -5950, -5950, -5950,
    3116             :    -5950,  1518, -5950,  3871,  3869, -5950, 92815,  4238, 92815, 92815,
    3117             :    92815, 92815,  3659,  3875, 92815,  3877,119814, 92815,  2640,  3213,
    3118             :     4374,  4257,  2431,  3608,  3968,  4260, 83617,  3893,  2392, -5950,
    3119             :    -5950,   959, -5950,  2412,   209, -5950,  1518, 71353,117329,  4250,
    3120             :    -5950,   333,  5328, -5950, -5950,   333,  1026, 92815, -5950, -5950,
    3121             :    -5950, -5950,  4119,  2232, -5950,  4236, -5950, -5950,  2431, -5950,
    3122             :   119814,  3901, -5950,  2417, -5950, -5950, -5950,   309,  3958,  1007,
    3123             :     3965,  1007, -5950, -5950, -5950, -5950, 92815, -5950, 92815, 66754,
    3124             :    -5950, -5950, 92815, -5950,  4281, -5950, -5950,  4051,  4053,  4054,
    3125             :     4057,  4058, 92815,  3577, -5950,  3905, 92815, 92815, 68287,  1785,
    3126             :    -5950, -5950, 68287,   456, -5950,   206, -5950, 83617,  4049, -5950,
    3127             :    -5950, -5950, -5950,  4290,  4296, -5950, -5950, -5950,   983, -5950,
    3128             :    78507,   468, -5950, 68287,  4225,  4228,  4229,  4230,   369,  4231,
    3129             :     4232,  4237,  4239,  4240, -5950, -5950, -5950,  3935, 19388, 35081,
    3130             :    -5950,  4311,119814, -5950,  9689, -5950, -5950, -5950, 35081, -5950,
    3131             :    -5950,  4234, -5950, -5950,  3994,  4000,  3936,  3645,  3788, -5950,
    3132             :     4151,  4157, 35081,  3788,  4411,  1121, 35081, 35081, 35081, -5950,
    3133             :    -5950,  4161,  4166, 35081,  2360,  2360, 35081, -5950,  3942, 35081,
    3134             :    -5950, -5950, -5950, -5950,  2339, 35081, -5950, 35081, -5950, -5950,
    3135             :    26161,  4461,  4461,  3945,119814, 40900, 40900, 40900, 40900,  1830,
    3136             :     3068, 40900, 40900, 40900, 40900, 40900, 40900, 40900, 40900, 40900,
    3137             :    40900,   488, -5950,  4153, 35081, 35081, 34552, -5950, -5950,119814,
    3138             :     3946,  3686,  3950,  3951, 35081, -5950, -5950, -5950,  2419, 42469,
    3139             :     3952, 63688, -5950, 35081, 18125,  2425,  3993, 19669,  2066, 10506,
    3140             :     1518, 35081,  1251,  1731, 35081,  2434, 35081, -5950, -5950, -5950,
    3141             :    -5950,  4300, -5950, -5950, -5950, -5950, -5950, -5950,  4188,  2360,
    3142             :    -5950, -5950, 35081,  3955,  3520, 40900, 40900,  4869, -5950,  4983,
    3143             :    35081, 29257, -5950,  3721, -5950, 26696,  3954, 35081,116321, -5950,
    3144             :    -5950,  1161,  1161,  1161,  1161, -5950, 92815, 92815, 92815,  4055,
    3145             :     3959,  4055,   358,  3960, -5950, -5950, -5950, -5950,  2431, -5950,
    3146             :     3947, -5950, -5950, -5950, -5950, -5950, 35081, 89749, 90260, 89749,
    3147             :    89749,  3962, 42986, 27214,  2684,  3963, 92815, -5950, -5950,  3967,
    3148             :    44020,  4271,  4181, -5950, 44020,  4181,  1644,  4181,  4274,  4067,
    3149             :    50741, -5950, -5950,  3969, -5950, -5950,  4189, -5950,  1951, 21127,
    3150             :     4448,  4317, -5950,  3974, -5950,  3763,  1976, -5950, -5950, -5950,
    3151             :     1303, -5950,  4064, -5950, -5950, -5950,  3710, 36668,  4136, -5950,
    3152             :    -5950, -5950,  4035,  2435, -5950, -5950,  4424,  4136, -5950,  2313,
    3153             :    -5950,  2439, 49707,  3767, 35081,  2066,  2458,  1985, -5950, -5950,
    3154             :   116832, -5950,  4059,  2957,  2957,  2813,  3577,  4343,  2813, 10814,
    3155             :    -5950,  1909, 92815, -5950, 92815, -5950, -5950, -5950,  4478,  4047,
    3156             :     4048,  4275, -5950,  2700, -5950, -5950, 68287, 92815, -5950, -5950,
    3157             :    -5950,   556,  1971,  3211, -5950,  4070, -5950, -5950,  4307, 92815,
    3158             :    -5950,  4464,  4089, 92815, 10914,  4367,  4062, -5950, -5950, 45571,
    3159             :    92815, 92815, -5950, 92815, -5950, 92815, 92815,  1909, 91282, -5950,
    3160             :     4442, -5950,  1909,  4109,  4348,  1858,  3213,   399,  6846, -5950,
    3161             :     1978, -5950, -5950,  4073, -5950, 92815, -5950, 92815, -5950, -5950,
    3162             :    -5950, -5950, -5950, -5950, -5950,  4137, -5950, -5950, -5950, -5950,
    3163             :    64199, -5950, -5950, 92815, -5950, 63688, 51791, 63688, -5950, -5950,
    3164             :    -5950, 92815, -5950,  1563,   559,  1972,  3211, -5950,  4088, -5950,
    3165             :     4372,  4091,  4093,  4144,   252,  1380,  4094,  4095,  4147,  4008,
    3166             :     4009,  4010, -5950, 63688, 52321,  4182, 92815,  2957,  4013,  4066,
    3167             :    92815,  3842, 91793, -5950,  4015, -5950, -5950,  3842,   457,  1518,
    3168             :    -5950, -5950,  1518,  2957,  1518, 92815, 92815, 92815, 92815,   366,
    3169             :    -5950, -5950, -5950,  4493,  4115, 92815, 92815, 92815, 92815, -5950,
    3170             :     4076, -5950, -5950, -5950, 92815, 92815,  4384,  1090,  2287, 68287,
    3171             :    92815, 92815, 68287, 92815, 92815, 92815, 92815, 92815, 92815, 92815,
    3172             :     4247, -5950,  4480,  4402,  2315,  4449,  4108, 92815, -5950, 92815,
    3173             :     1518, -5950,  3471, 92815, 92815, 92815, 92815, -5950, -5950, -5950,
    3174             :    -5950, -5950,  3721, -5950,  4030,  4344,  1075, -5950,  4345,  4346,
    3175             :     4349,  1075, -5950, -5950,  1827, -5950,   552, 92815, -5950,  2678,
    3176             :    92815, -5950, -5950, -5950,  3974,  1530,  1897, -5950, -5950, -5950,
    3177             :    -5950, -5950, -5950,  4032, 92815, 92815, 40900, -5950, -5950,   477,
    3178             :     1738,  1550, -5950,  4334, 92815,  3322, -5950, -5950, -5950,   267,
    3179             :    92815, -5950, -5950, -5950, -5950,  4041, -5950,   779,  3875, -5950,
    3180             :     4368, 75441,  2957, 68287, 68287,  2957, -5950,119814,  4043,  3586,
    3181             :    -5950,   306,  4133, -5950, 68287,  1737,114788,  3392,  4090,  4272,
    3182             :    11350, 44020, 44537,  1700, -5950,  4052,  4044, -5950, -5950, 92815,
    3183             :     4085, 66754,  2460,  2453,  4550,  1411,  2353, -5950, 75952,  4259,
    3184             :     3875,  4368, -5950,  3213,  4284,  4282, -5950,  2431, 92815,  3659,
    3185             :     3586,  1518, 92815,  4062, 51791, -5950,  4593,  2273, -5950,116832,
    3186             :    35081, 35081, -5950,  4068, -5950,  4071,  5328, -5950,  4139,  4078,
    3187             :     4554, 35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3188             :     4168,  4081, 92815, 92815,   959, 92815, -5950,  4072,  3928, -5950,
    3189             :     3928, -5950, 92815, -5950, 92815, -5950,  1007, -5950,  4199,  1007,
    3190             :    92815, 92815, 92815, 92815, 92815, 92815,  3577,   369,  3585, -5950,
    3191             :    -5950,  4417, 67265,  4419, -5950, 63688, -5950, -5950, -5950, -5950,
    3192             :    -5950,  2467, 92815, -5950, -5950, -5950,  4492,  4443,  1007,   446,
    3193             :     1143,  1143,  1143,  1143,  4403,  1143,  1143,  1143,  1143,  1143,
    3194             :    -5950, 35081, 21127, -5950,  4092, -5950, 21127,  4481,  4385,  4388,
    3195             :    -5950, -5950,  4096,  4333,  4340, -5950,  4102, 35081,  3788, 19757,
    3196             :    -5950, -5950,  4342,  4347, -5950,  3788,  3788, 19757, -5950, 19757,
    3197             :     4111, 11371, 19915, -5950,  2468, 35081, -5950,  1275,  1275,  1275,
    3198             :      710,  4463, -5950,  2377,  1275,  1275,  1275,   393,   393,   311,
    3199             :      311,   311,  4461,   488, 20066, 20169, 20477,  4112, -5950, -5950,
    3200             :    -5950,  3686, -5950, 37197,   101,  4595, 41952, -5950, -5950, -5950,
    3201             :     4171,  4172,  4118, -5950, 35081, 37726,  4117,121802,  4338, -5950,
    3202             :     1852, 35081, 35081,  4624, -5950,  6335, 35081, -5950, -5950,  4624,
    3203             :      551, 35081,  1775,  2485, 35081, 35081,  5096, 11637,  4130, -5950,
    3204             :     2489, 35081, 11692,  4321, -5950, 92815, 92815, 92815, 92815, -5950,
    3205             :    -5950, -5950,  4317,  1518,  4317,  1518,  4131, -5950,  4135, -5950,
    3206             :    -5950, -5950, -5950, 64710,  4120,  3850, 89749,  4138, 92815,  2684,
    3207             :    44020, -5950, -5950,  1452, -5950, 44020,  4444, -5950, 44020, 71864,
    3208             :    -5950, 92815,  4143, 92815, -5950,  1729, 35081,  4179, 54971, -5950,
    3209             :    -5950, -5950, -5950,  4241, -5950,  4369, 21127,  4184, -5950,  2431,
    3210             :     2446, 92815,  2066,   784, -5950, 35081,  4154, 92815, -5950,  4136,
    3211             :    21127, -5950,  4226,  2491, -5950, -5950,  4380, -5950, -5950, -5950,
    3212             :    -5950, -5950,  4242, 77485,  4507, -5950, -5950, -5950,  1818,  4479,
    3213             :      902, -5950,  1007, -5950,119814, 92815, 92815, 92815,  3168, -5950,
    3214             :    -5950, 92815, 92815, 92815, 92815, -5950, -5950, 68287, 92815, -5950,
    3215             :    -5950, 92815, 35081,  2493, -5950,  4194,  4613,   412,  4158, -5950,
    3216             :     1909,    10,  1909, -5950,    10, -5950, -5950, 92304, -5950,  4085,
    3217             :      366,   477,  4497,  4498,  4398, -5950,   369, -5950,  4659,   477,
    3218             :     4405,   366, -5950, -5950, -5950, -5950,  2238, -5950,119814,  1007,
    3219             :     1007, -5950, -5950, -5950, -5950, -5950,  4174, -5950,  4647,  4269,
    3220             :    92815, 92815, 92815, 92815, 92815, 68287, 92815, 92815,  2873,  2873,
    3221             :   119814,  4173, -5950,  2873,  2873,  4175, -5950, 68287, 92815, 92815,
    3222             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3223             :    -5950,  4263, -5950, 35081,  4640, -5950, -5950, -5950, -5950, -5950,
    3224             :    35081, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    3225             :    -5950, 68287, 92815,  4266, -5950,  4270, -5950,   963, -5950, -5950,
    3226             :    92815, 92815, 92815, 92815,  4559, -5950, -5950, -5950, -5950, -5950,
    3227             :    -5950, -5950, -5950, -5950, -5950, -5950,  4561, 92815, -5950, -5950,
    3228             :     1518,  1518,119814,  1007,  1007, -5950, -5950, -5950,  4277, -5950,
    3229             :    -5950,  4186,  4501,  1075, -5950,  1075,  1075,  1075, -5950,  4191,
    3230             :    -5950,  1827,  4603, -5950,  1909,  2014,  4551, -5950, 35081, -5950,
    3231             :     1536,   710, -5950,  4612,  4696, -5950, -5950, -5950, -5950,  4446,
    3232             :     3539,  2397,  3539, -5950, -5950, 71864,   434, -5950,  4534,   234,
    3233             :    63688,  4433, 75441,   371,  2065,  4202,  4350, -5950,  2957,  2957,
    3234             :     4273, 92815,  4704, -5950, -5950, -5950, -5950, -5950, -5950, 68287,
    3235             :     3856, -5950,  4450,  1422,  4570, 92815, 44537, -5950,  3710, -5950,
    3236             :    -5950, -5950,  1518, -5950, -5950,  4351,  3586, -5950,  2172, 92815,
    3237             :     4441, 75441,  3659,  2497, -5950, -5950, -5950,  4254,  4690,  3608,
    3238             :    -5950,   371,  4259, -5950, -5950,  4668,  4315,  4261,  4718, -5950,
    3239             :     4315,  4579,  4451,  4224, -5950,  3893, -5950, 92815, -5950, 21127,
    3240             :    21127,  1518,122299,   333,119814,  4587, -5950, 21127, 92815,   991,
    3241             :     4222,  4400, -5950,  4552,  1007,  2509, -5950,  1007,  1007, -5950,
    3242             :    92815, -5950,  3577,  3577,  3577,  3577,  3577, -5950,  4452, -5950,
    3243             :    -5950, -5950, -5950,  4543, -5950, 67265, -5950,  1007, -5950, -5950,
    3244             :    -5950, -5950, -5950, -5950,  1143, -5950, -5950, -5950, -5950, -5950,
    3245             :    21127, -5950, 92815, -5950, -5950, -5950, -5950, -5950, -5950,  3427,
    3246             :     4244, 35081,  2312, -5950, -5950,  4246,  4251,  3788,  3788, -5950,
    3247             :    -5950, 35081, -5950, 11767, 40900,  4590, -5950, 35081, 35081, 35081,
    3248             :    -5950,  4248,  2536,  2544, -5950, -5950,   101, -5950,  4595, -5950,
    3249             :    -5950, -5950, 12353,  4291, 21127,  4354,  4252,   271,  4624,  4624,
    3250             :     6335,  4624, 35081, 35081,  4624,  4624, 35081, -5950, -5950, -5950,
    3251             :    12456, -5950,  4713,  3721, -5950, -5950, -5950, -5950,  4179, -5950,
    3252             :     4179, -5950,  4394, 35081, -5950,  2545,  4735, 39842,  4710, -5950,
    3253             :    92815,  2546, -5950, 35081,  4256, -5950, -5950, 44020,  1452,  4264,
    3254             :     2550, 92815,  2572,119814, 38255, 21127, 92815,  3721,  4265, -5950,
    3255             :    92815,  4267, 31907, -5950,    75, -5950, -5950,  4685, 45571,  4660,
    3256             :    20591, 35081, -5950, -5950, -5950, -5950, -5950, 67265,  4483, 67265,
    3257             :     1909, -5950, -5950, -5950, -5950, -5950, -5950, -5950,  4280, -5950,
    3258             :    -5950, -5950, -5950,  4353, -5950, -5950,    53,  3621,  1909, -5950,
    3259             :    12712,  4594, 45571, 56031, 92815, -5950, 92815, -5950,115299,  4285,
    3260             :     4482,  4287,  4288, -5950, -5950, -5950, -5950,  4768,  4649,  4650,
    3261             :    -5950, -5950,  4293, -5950, -5950, -5950,  4480, -5950, -5950, 51791,
    3262             :    68287, 92815, -5950,  4370, -5950, -5950, -5950, -5950, -5950, -5950,
    3263             :    47639, 54971, -5950,   252,  4295,  4297,  1380, -5950, -5950, -5950,
    3264             :    92815, 13556,  4299, 13702,  1058,  3621, 92815, 92815,  4302,  4308,
    3265             :     4310,  1777,  1602,  1967,  3577,  4664, 92815, -5950, -5950, -5950,
    3266             :     4480, -5950, -5950, 92815, -5950,  1075, -5950, -5950, -5950, -5950,
    3267             :    63688, -5950,  3413,  4191,  1518, 71864,  4794,  4794, 14397,  4553,
    3268             :    -5950, -5950,   173,  4639, -5950,  4376,  4588,  4376,  4318, 92815,
    3269             :      267,  4319,  2583, -5950, 92815,  4320,  4458,  2314,  2314, 92815,
    3270             :    92815, 92815,  2587,  2431,  2957,  4066,  1737,  4701, 75441,  4747,
    3271             :     4085,   438, -5950, 92815,  4823, 92815,  3659,  3875, 92815,  4325,
    3272             :    -5950, -5950, 75952,  4549,  4522, 92815,  2640,  4259,  3608,  1455,
    3273             :    92815, -5950,  1929, -5950,  2431, -5950, 92815, 83617, 45571,  4686,
    3274             :    -5950,121305, -5950,  2591, -5950, -5950, -5950,  4408, 21565,  3466,
    3275             :     4457,  4459,  4336,   233,  4695, 92815,  1237, -5950, -5950, -5950,
    3276             :    -5950, -5950, -5950, 92815,   468, -5950, -5950, -5950, -5950,  4335,
    3277             :    -5950,  4838, 35081,   342, -5950, -5950, -5950, -5950, -5950,  4573,
    3278             :    -5950,  4352, -5950, -5950,  2763,  2312, 20725, -5950,  3334, 40900,
    3279             :    21127, 21127, 21127, 35081, -5950, 35081, -5950, -5950, -5950, -5950,
    3280             :      851, -5950, -5950,  4674,  4355,  4624,  4624,  4624, -5950, 35081,
    3281             :     1190, -5950, -5950,  1454,  4773, 21016,  3745, 64710,  4357, -5950,
    3282             :    40900,  2604, -5950,  3088, 92815,  2605, -5950, 21127, 92815, -5950,
    3283             :    -5950, 35081, -5950,  2610, -5950,  4359,    59,  4360, 25091,  4362,
    3284             :    -5950, -5950, -5950, -5950, -5950, 21127,  4363, -5950,  4848,  1601,
    3285             :    -5950, -5950,   919,  3108,  4410, 92815,  2611, -5950,   828,   933,
    3286             :       89, -5950,  4855,  4855, 21127,  1785,  2813,   432, -5950, 92815,
    3287             :     4453, -5950,  4613,  4364,  3539, -5950,  4375, -5950, -5950,   442,
    3288             :     3213, 92815,  4542, -5950,  4594,  4594,  4522,  4715, -5950, -5950,
    3289             :    35081,  4432, -5950,  1128,  3621, 92815,119814, -5950,   167,  4740,
    3290             :    -5950,119814,119814, -5950, -5950, -5950, 35081, -5950,  4484, -5950,
    3291             :    -5950, -5950, 35081, 35081, 74419, -5950, -5950, 92815, 92815, 92815,
    3292             :    92815, 92815, -5950,  1007, -5950, -5950,  2615, -5950, 46605, -5950,
    3293             :    -5950,  3388,  1518,  3388,  1931, -5950, -5950,  3388,  3388, -5950,
    3294             :     3466, -5950,  4794,  1490, -5950, -5950,  4446,  4381, 35081, -5950,
    3295             :     4711, -5950,   199,  4614, -5950,  4386, -5950, 71864,  4921, -5950,
    3296             :    63688,  3875,  4368, 92815, -5950, -5950, -5950, -5950, -5950, -5950,
    3297             :    -5950, -5950, -5950, -5950, -5950, -5950,  2620,  4085,  4769,  3586,
    3298             :     4261, -5950, 92815,  4438, -5950, 44020,  4085,  2431,  2353, -5950,
    3299             :     4259,  3875,  4368, -5950, -5950,  4406,  4282,  3608,  2640,  4555,
    3300             :    -5950,  4557, -5950,  4866,  4631,  4874,  3659, -5950,  4062,  2622,
    3301             :    92815, -5950, -5950,  5328,122299,119814, -5950, -5950, -5950,  4409,
    3302             :     4813,  4462,  4465, -5950, -5950, -5950,   233, -5950,   114,  4818,
    3303             :     4471, -5950,  4477, 92815, -5950, -5950,  4085,  1007, 35081, 63688,
    3304             :    21127, -5950, -5950,  4811, -5950,   259,   275,   248,  4653,  4427,
    3305             :    35081,  3334,  2626,  2628,  4488, -5950, -5950, -5950,  3686, 38784,
    3306             :    38784, 38784,  4430,  4799,  4801, 92815, -5950, 92815,  4642, -5950,
    3307             :    -5950, 92815,   710,  4431, 39842, 63688,  2630, -5950,118820, -5950,
    3308             :     2632,  2655, -5950, 35081,  4436, 35081, -5950, 38255, 92815,  4439,
    3309             :     3508, -5950, -5950,  2659, -5950,  4940,  2431, -5950,  3466, 45571,
    3310             :    -5950,  4576, -5950,  4714, -5950, -5950, 35081,  4537,  4538, -5950,
    3311             :     4805, -5950, -5950, 92815, -5950, 92815,  4376, 54971,  3763,   442,
    3312             :    -5950, 92815,  3539,  3539,  4381, 14596, 35081, -5950,  4547, -5950,
    3313             :    -5950,  2668,  1711, -5950, -5950,  2670,  2675, 15151, 92815,  2676,
    3314             :     2680, -5950,  2702,  2873,  3596,  1967,  3596, -5950,  3577, -5950,
    3315             :    -5950, 63688, -5950, -5950, 67776, -5950, -5950, -5950,  1518, -5950,
    3316             :     1518,  4688, 57566, 58077,  1518,  1518, -5950, -5950, -5950, -5950,
    3317             :    -5950,  2453, -5950, 15198,  4556, -5950, -5950, -5950,   557, -5950,
    3318             :     4679,  4680, -5950,  4455, -5950,  2715, -5950,   371,  4592,  4085,
    3319             :    -5950, -5950, 92815,  4960,  4962, -5950,  1432, 92815,  3710, -5950,
    3320             :     4261,  3659,  3608,   371,  4259,  4522, 46088,  4315,  2640,  4282,
    3321             :    -5950, -5950,  4692, -5950,  4693, -5950,  4467,  4798, -5950,  2226,
    3322             :      333, -5950, -5950, -5950,  1218,  4827,  4828, -5950, -5950, -5950,
    3323             :     3388, -5950,  1948,  4473,  4853, -5950, -5950, -5950, -5950, -5950,
    3324             :    -5950, -5950,  4514,   294,   299, -5950,  4515, -5950,  4658,  4661,
    3325             :     2312,  2395, -5950, 21127, -5950, -5950, -5950, 40371,  4629,  1344,
    3326             :    17868,  4861, -5950,  4861,  4861, -5950,  4958,  4959,  1144, -5950,
    3327             :     4938,  2717, 41952, -5950, -5950, -5950, 92815,  4706,  1813,  4989,
    3328             :     4652,  2726, 38255,  2727, -5950, -5950, -5950, -5950, -5950,   919,
    3329             :    92815, -5950, -5950, -5950, 49707,  4971, 21127,   939,  1634, 67265,
    3330             :     3621,  2733,  3842,  4496, -5950,  3763,  4502,  4376,  4376, -5950,
    3331             :    -5950, 21127, 92815, 71864,  4978, -5950, -5950, -5950, -5950,  3621,
    3332             :     4591, -5950, -5950, 74419, -5950, 92815, -5950, -5950,  2738, -5950,
    3333             :    -5950, -5950, 58588, -5950,  4222, -5950,  4222, -5950, -5950,  1436,
    3334             :       65, 92815,  1203,  1203,  4917, -5950,  4575, -5950,  4511, -5950,
    3335             :     5043,  4654, 92815, -5950, -5950,   252,  2431, 75441,  4085, -5950,
    3336             :    -5950,  2640,  4259,  3608, 35081,  2740, -5950,  4613,   412, -5950,
    3337             :     4282,  4315, -5950, -5950, 45571,  4517,  3322,  4914, -5950, -5950,
    3338             :    -5950,  2708, 71864, 71864, 92815, -5950, -5950, -5950, 35081,   267,
    3339             :    -5950,  4562, -5950,  4566, -5950, -5950,  4748,  4757,  4539,  2312,
    3340             :    -5950,  5039, -5950, -5950, -5950, -5950, -5950,   998, -5950, -5950,
    3341             :    -5950, 92815, 92815, 92815,  4541, -5950,  3850, -5950, -5950, 40900,
    3342             :    40900,  4777, -5950, 40900,  1813, -5950, 92815, -5950,  4544, -5950,
    3343             :    -5950,  2764, -5950, -5950, -5950,  1502,  1480, -5950,  4784,  4676,
    3344             :    -5950, -5950,  4787,   222, -5950,   432, -5950, -5950, -5950, -5950,
    3345             :    -5950, 92815,  4588, -5950, -5950,  3621, -5950, 92815, -5950,  4548,
    3346             :    -5950, -5950, -5950, 67776, -5950,  4222, -5950, -5950, -5950, -5950,
    3347             :    -5950, -5950,  5059, -5950,  1497, -5950, -5950, -5950, -5950, 92815,
    3348             :     4085,  4173,  4261, -5950,  4282,  3608,  2640, 15863, -5950, 46088,
    3349             :    92815, 92815,  4315, -5950,  2770, 45571,  3586,  4700, -5950,  3145,
    3350             :    -5950, -5950, -5950, -5950, -5950, -5950, -5950,   966,  4546,  4558,
    3351             :    -5950, -5950, 16222, 71864, -5950, -5950,  4699,  4702, -5950,  4780,
    3352             :    39313,  4707, -5950,  4775, -5950,  1405,  1414,  1922,115810,  5013,
    3353             :      710,   710, -5950,   710, -5950, -5950, 35081, -5950, -5950, -5950,
    3354             :    -5950, -5950, 49707, -5950,  4616,    75,  4564, 92815, -5950, -5950,
    3355             :     1909,  4158,  4614,  1909,  1909, -5950, -5950, 35081, -5950, -5950,
    3356             :     2397,  2397,  4085, -5950, -5950,  4315,  2640,  4282,  4613, -5950,
    3357             :    -5950, -5950, -5950,  4798, -5950,  2781,  4315,  4471,  2744, -5950,
    3358             :    -5950,  2750,  2681,  4655,  4919, -5950,  4565,  4678,  4681,  4952,
    3359             :    -5950, -5950, -5950, 92815, 92815, 65221, 92815,   361,  2794, -5950,
    3360             :   119317, 92815, 16487,  4571, -5950,  4632, 35081,  2801,  4577, -5950,
    3361             :     2819, -5950, -5950, -5950, -5950,  4282,  4315, 92815,  3322, -5950,
    3362             :    45571,  3466,  4955, -5950,  3145,  4698,  4703, 63177, -5950, -5950,
    3363             :    -5950, -5950, -5950,  5109,   354,  4996, -5950, -5950,  1518,  2312,
    3364             :   115810,  4802,   279,  2826, -5950,  4644,  2831,  1198, -5950,  1909,
    3365             :    -5950,  4315, -5950, -5950,  3586, -5950, -5950,   267, -5950,  4628,
    3366             :     4633, -5950,  2833, -5950, -5950, -5950, -5950, 35081, 65221,  2118,
    3367             :     4599, -5950, -5950,  4790,  1518,  2763,  4790, -5950, -5950, -5950,
    3368             :       75, -5950, -5950,  4315, 71864,  4945,  4947, -5950, 63177,   935,
    3369             :     4656, 92815,  4601, -5950,  2312, -5950,   248,  2763,  4662,  3466,
    3370             :     4602, 71864, 71864, -5950,  4605, 92815,  5047,115810, -5950,  2312,
    3371             :      248,  4644, -5950, 63177, -5950, -5950,  1518, -5950,  4607,  2835,
    3372             :    -5950,  2312, -5950,  2837,115810, -5950, -5950, -5950,  2841, -5950
    3373             : };
    3374             : 
    3375             : /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
    3376             :    Performed when YYTABLE does not specify something else to do.  Zero
    3377             :    means the default is an error.  */
    3378             : static const yytype_int16 yydefact[] =
    3379             : {
    3380             :     1742,  1474,   679,  1563,  1562,  1474,     0,   269,     0,  1574,
    3381             :        0,  1474,   438,  1131,     0,     0,     0,     0,   679,  1474,
    3382             :        0,  1742,     0,     0,     0,     0,     0,  1755,     0,     0,
    3383             :        0,     0,     0,  1271,     0,     0,     0,  1474,     0,     0,
    3384             :     1762,     0,     0,     0,     0,  1755,     0,  1576,     0,     0,
    3385             :        0,     0,  1762,     0,     0,     0,     0,     0,     2,     9,
    3386             :       10,    45,    80,    81,    38,    37,    98,    63,    24,    71,
    3387             :      133,   132,   134,    50,    46,    88,    33,    35,    47,    51,
    3388             :       73,    75,    40,    53,    64,   110,    72,    31,    70,    76,
    3389             :       96,    58,    19,    20,    59,    21,    60,    22,    61,   106,
    3390             :       82,    99,    43,    69,    30,    52,    78,    79,    12,    54,
    3391             :       86,    18,    65,    66,    68,    91,    92,    93,   116,    94,
    3392             :      128,    49,   125,   103,   104,   122,   105,   123,    16,   107,
    3393             :       62,    23,   119,   118,   120,    89,    55,    90,    77,    97,
    3394             :      117,    34,   121,    25,    26,    28,    29,    27,    67,    36,
    3395             :       74,    39,    95,   124,   114,   109,   129,   127,    11,   135,
    3396             :      111,    83,    14,    15,   100,    13,    32,    57,    17,    42,
    3397             :       41,    56,    48,   131,    44,  1574,   102,   115,   101,    84,
    3398             :      108,    87,   112,   130,   113,    85,   126,  1706,  1705,  1766,
    3399             :     1709,  1741,     0,  1721,  1473,  1472,  1487,     0,     0,     0,
    3400             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3401             :        0,     0,     0,   678,     0,     0,     0,     0,     0,     0,
    3402             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3403             :        0,     0,     0,  1484,  2470,  2487,  2488,  2489,  2490,  2491,
    3404             :     2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,  2501,
    3405             :     2503,  2502,  2504,  2505,  2880,  2506,  2507,  2508,  2817,  2818,
    3406             :     2881,  2819,  2820,  2509,  2510,  2511,  2512,  2513,  2514,  2515,
    3407             :     2516,  2517,  2821,  2822,  2518,  2519,  2520,  2521,  2522,  2823,
    3408             :     2882,  2523,  2524,  2525,  2526,  2527,  2528,  2883,  2529,  2530,
    3409             :     2531,  2532,  2533,  2534,  2535,  2536,  2537,  2538,  2884,  2539,
    3410             :     2540,  2541,  2885,  2542,  2543,  2544,  2545,  2546,  2547,  2824,
    3411             :     2825,  2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,  2556,
    3412             :     2557,  2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,
    3413             :     2567,  2568,  2569,  2570,  2571,  2572,  2573,  2574,  2575,  2576,
    3414             :     2577,  2578,  2826,  2579,  2580,  2581,  2582,  2827,  2583,  2584,
    3415             :     2585,  2586,  2828,  2587,  2588,  2589,  2590,  2886,  2887,  2591,
    3416             :     2592,  2593,  2594,  2595,  2829,  2830,  2596,  2597,  2598,  2599,
    3417             :     2600,  2601,  2602,  2888,  2603,  2604,  2605,  2606,  2607,  2608,
    3418             :     2609,  2610,  2611,  2612,  2613,  2614,  2615,  2889,  2831,  2616,
    3419             :     2617,  2618,  2619,  2832,  2833,  2834,  2620,  2890,  2891,  2621,
    3420             :     2892,  2835,  2836,  2837,  2838,  2839,  2840,  2841,  2842,  2843,
    3421             :     2844,  2845,  2622,  2623,  2624,  2625,  2626,  2627,  2628,  2629,
    3422             :     2846,  2893,  2630,  2894,  2631,  2632,  2633,  2634,  2635,  2636,
    3423             :     2637,  2638,  2639,  2640,  2641,  2642,  2643,  2847,  2644,  2645,
    3424             :     2646,  2647,  2648,  2649,  2650,  2651,  2848,  2895,  2849,  2652,
    3425             :     2653,  2654,  2655,  2656,  2657,  2658,  2659,  2850,  2851,  2660,
    3426             :     2661,  2662,  2896,  2663,  2852,  2664,  2853,  2665,  2666,  2667,
    3427             :     2668,  2669,  2670,  2671,  2672,  2673,  2674,  2675,  2676,  2854,
    3428             :     2897,  2677,  2898,  2855,  2678,  2679,  2680,  2681,  2682,  2683,
    3429             :     2684,  2685,  2686,  2687,  2688,  2689,  2690,  2691,  2692,  2856,
    3430             :     2693,  2857,  2696,  2694,  2695,  2697,  2698,  2699,  2700,  2701,
    3431             :     2702,  2703,  2704,  2705,  2706,  2707,  2858,  2708,  2709,  2710,
    3432             :     2711,  2712,  2713,  2714,  2715,  2716,  2717,  2718,  2719,  2720,
    3433             :     2721,  2722,  2723,  2724,  2725,  2899,  2726,  2727,  2728,  2729,
    3434             :     2730,  2859,  2731,  2732,  2733,  2734,  2735,  2736,  2737,  2738,
    3435             :     2739,  2740,  2741,  2742,  2743,  2744,  2745,  2746,  2747,  2860,
    3436             :     2748,  2749,  2900,  2750,  2751,  2861,  2752,  2753,  2754,  2755,
    3437             :     2756,  2757,  2758,  2759,  2760,  2761,  2762,  2763,  2764,  2765,
    3438             :     2766,  2767,  2862,  2768,  2769,  2770,  2771,  2901,  2772,  2773,
    3439             :     2774,  2775,  2776,  2777,  2778,  2863,  2864,  2779,  2780,  2865,
    3440             :     2781,  2866,  2782,  2783,  2784,  2785,  2786,  2787,  2789,  2788,
    3441             :     2790,  2791,  2792,  2793,  2794,  2795,  2796,  2797,  2798,  2799,
    3442             :     2800,  2867,  2868,  2801,  2902,  2802,  2803,  2804,  2805,  2806,
    3443             :     2807,  2808,  2809,  2810,  2811,  2812,  2813,  2869,  2870,  2871,
    3444             :     2872,  2873,  2874,  2875,  2876,  2877,  2878,  2879,  2814,  2815,
    3445             :     2816,   146,     0,     0,  2437,  2471,  2472,  2475,  2470,   408,
    3446             :      407,  1695,  2434,  2471,  1573,     0,  1552,   679,     0,  1487,
    3447             :      437,  1742,     0,     0,     0,     0,     0,     0,   898,     0,
    3448             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3449             :        0,   138,     0,   140,     0,     0,   462,   461,     0,     0,
    3450             :     1103,   467,     0,     0,     0,     0,     0,   669,  1615,  2694,
    3451             :     1613,  1696,   270,   273,   274,   271,   272,  2453,     0,  1243,
    3452             :     1244,  1246,     0,     0,  1256,   936,   937,     0,     0,     0,
    3453             :      950,     0,     0,     0,   934,     0,     0,     0,   956,     0,
    3454             :      953,     0,     0,   957,   954,   931,   955,   938,     0,   930,
    3455             :        0,     0,  1256,   958,     0,     0,   932,     0,     0,     0,
    3456             :        0,  1487,  1612,   468,  1742,     0,  1596,  1597,  1598,  1574,
    3457             :     1586,  1599,  1591,  1593,  1592,  1594,  1595,  1590,  2452,  2489,
    3458             :     1026,  1026,  1026,  1026,  1023,  1024,  1026,  1026,  1026,  2714,
    3459             :        0,     0,  1005,     0,  1007,  2454,  1026,  1031,  2497,   555,
    3460             :      555,   555,     0,  1030,  1035,   555,     0,  1455,  1496,  2436,
    3461             :     1754,     0,  1006,  1454,  2779,  1602,     0,     0,     0,     0,
    3462             :     2733,  1464,   254,  2745,  2863,  2779,   253,   248,   249,   222,
    3463             :        0,     0,  1030,   555,     0,  1487,  1462,  1002,  1761,  1759,
    3464             :        0,  2421,  2516,  2533,  2633,   245,  2726,  2735,  2745,  2863,
    3465             :     2779,  2813,   201,   211,   206,     0,   263,  2745,  2863,  2779,
    3466             :      259,  1484,     0,  1722,  1872,  1871,  2430,     0,  1457,  1456,
    3467             :     1575,     0,  1578,     0,  2709,  1726,  1729,  1580,  1727,  2473,
    3468             :     1965,  1994,  1972,  1994,  1994,  1961,  1961,  2563,  1974,  1962,
    3469             :     1963,  1999,  2019,     0,  1994,  1961,  1966,     0,  1964,  2002,
    3470             :     2002,  1989,     3,  1944,  1945,  1946,  1947,  1975,  1976,  1948,
    3471             :     1981,  1982,  1986,  1949,  2016,  1952,  1961,  2474,  1763,  1764,
    3472             :     2421,     4,  2467,     5,  2348,  2466,     6,     7,  1718,     0,
    3473             :        0,     1,  1742,     0,  1585,  1758,  1758,     0,  1758,     0,
    3474             :     1710,  1718,  1713,  1717,     0,     0,     0,     0,     0,     0,
    3475             :     1458,     0,     0,     0,   961,     0,  1499,  1087,     0,     0,
    3476             :        0,     0,     0,  1340,     0,  1140,  1139,  2476,  2459,  2460,
    3477             :     2461,     0,  2457,  2458,  2477,  2478,  2479,     0,  2602,  1340,
    3478             :        0,     0,  2264,  2275,  2276,  2277,  2520,  2583,  2272,  2273,
    3479             :     2274,  2266,  2267,  2268,  2269,  2270,  2271,     0,     0,  1238,
    3480             :     2265,     0,  2602,     0,  1340,     0,   173,     0,   150,  1340,
    3481             :        0,     0,  2602,     0,     0,  2602,     0,     0,     0,     0,
    3482             :        0,  2602,     0,     0,     0,     0,     0,   173,  2638,     0,
    3483             :      150,  2602,     0,     0,  1478,     0,     0,     0,  1480,  1483,
    3484             :     1470,     0,  2345,     0,  2346,  2438,  1567,     0,  1566,  1560,
    3485             :     1570,  1565,  1555,     0,  2430,     0,     0,     0,     0,   944,
    3486             :        0,     0,   934,     0,     0,     0,   945,     0,   946,   947,
    3487             :        0,     0,     0,     0,   943,     0,  1468,  1460,     0,  1604,
    3488             :     1606,  1605,  1607,  1603,   555,     0,     0,     0,  2602,     0,
    3489             :      150,  1538,     0,  2602,   150,     0,     0,   466,   465,   150,
    3490             :     2457,   464,   463,  2520,  2583,     0,  1130,     0,  1213,   150,
    3491             :     2602,     0,   194,  2602,   738,  2602,  1580,   139,     0,   682,
    3492             :        0,   852,  2638,   150,     0,     0,     0,     0,     0,     0,
    3493             :      142,     0,     0,     0,     0,     0,     0,     0,   668,   679,
    3494             :     1616,  1614,     0,  1247,   247,   246,  1245,   948,  2602,  1172,
    3495             :      145,     0,     0,  2602,  1519,  2602,   145,   965,   949,     0,
    3496             :      935,  2602,   145,  1136,  2602,  2462,   183,     0,   933,  2520,
    3497             :     2583,  2602,   145,  1240,     0,  2602,   145,  2602,   179,  2602,
    3498             :      145,  2602,   145,  2602,   683,     0,     0,  2602,   145,  2602,
    3499             :     2638,   181,   952,  2602,   145,   959,  2602,   145,  2432,  2602,
    3500             :        0,  1471,     0,  1608,     0,  1588,  2867,     0,  1742,  1026,
    3501             :     1025,     0,  1026,     0,  1026,     0,  1026,     0,  1026,     0,
    3502             :        0,     0,  1026,  2455,  2456,  1008,     0,  1032,     0,  1040,
    3503             :        0,  1039,  1038,  1037,     0,     0,     0,  1041,     0,  1876,
    3504             :     1650,     0,  1452,  1467,     0,     0,     0,   142,     0,  1269,
    3505             :     1266,   142,  1268,  1267,   142,   142,  1463,   252,   250,     0,
    3506             :        0,     0,     0,     0,     0,  1469,     0,  1461,     0,     0,
    3507             :        0,  2440,  2442,  2443,  2278,  2348,     0,  2818,  2819,  2820,
    3508             :     2337,     0,  2821,  2822,  2823,  2882,  2152,  2138,  2147,  2153,
    3509             :     2139,  2141,  2148,  2824,  2825,  2087,  2826,  2827,  2450,  2828,
    3510             :     2829,  2830,  2832,  2833,  2834,  2835,  2836,  2837,  2838,  2839,
    3511             :     2840,  2841,  2842,  2843,  2845,  2846,  2143,  2145,  2847,  2848,
    3512             :     2849,  2851,     0,  2451,  2852,  2853,  2672,  2855,  2856,  2858,
    3513             :     2859,  2149,  2861,  2862,  2150,  2863,  2864,  2865,  2866,  2449,
    3514             :      510,  2151,  2868,  2870,  2871,  2872,  2873,  2875,  2876,  2877,
    3515             :     2878,     0,     0,     0,  2427,     0,  2116,     0,  1953,  1954,
    3516             :     1977,  1978,  1955,  1983,  1984,  1956,     0,  1957,  2426,  2020,
    3517             :     2223,  2115,  2133,     0,  2121,  2122,     0,  2114,  2110,  2225,
    3518             :     1744,  2422,     0,  2111,  2439,  2441,  2338,  1744,  2420,   214,
    3519             :      265,     0,   266,  2428,  2745,   202,   244,   216,   243,   217,
    3520             :      215,     0,  2518,   203,     0,     0,   204,     0,     0,     0,
    3521             :        0,   262,   260,     0,  1459,     0,  1874,  1873,  2431,   970,
    3522             :        0,  1577,  1574,  2288,     0,  1728,     0,     0,     0,  1993,
    3523             :     1980,  1988,  1987,     0,  1970,  1969,  1968,     0,  1967,  1994,
    3524             :     1994,  1992,  1971,  1944,     0,     0,     0,  1998,     0,  1996,
    3525             :     1940,  1936,     0,  2005,  2006,  2007,  2004,  2017,  2003,     0,
    3526             :     1950,  2008,     0,  1961,  1958,  1829,     0,  1708,  1707,     8,
    3527             :        0,  1582,  1584,  1558,  1580,  1756,  1757,     0,     0,     0,
    3528             :        0,     0,     0,     0,     0,  1816,  1774,  1775,  1777,  1813,
    3529             :     1817,  1825,     0,  1714,     0,     0,     0,  1878,     0,     0,
    3530             :     1485,     0,     0,     0,     0,     0,  1171,     0,     0,     0,
    3531             :        0,   962,     0,     0,     0,  1505,     0,  1507,  1508,  1509,
    3532             :        0,     0,     0,  1510,  1511,  1499,   256,  1518,  1515,  1498,
    3533             :     1500,  1513,     0,     0,     0,     0,     0,     0,     0,  1530,
    3534             :        0,   187,   188,     0,   695,   679,     0,  2602,     0,     0,
    3535             :        0,     0,  1181,  1188,  1339,     0,     0,     0,     0,     0,
    3536             :        0,     0,     0,  1182,  1180,     0,  1183,   258,  1193,  1220,
    3537             :     1223,     0,     0,  1138,  1141,     0,     0,     0,     0,     0,
    3538             :     1330,     0,     0,     0,  1330,     0,     0,     0,  1339,     0,
    3539             :        0,     0,     0,     0,     0,     0,     0,     0,   281,   283,
    3540             :      296,   363,     0,   660,     0,     0,     0,   663,     0,  2602,
    3541             :     1340,     0,     0,     0,  1242,     0,     0,     0,     0,     0,
    3542             :        0,     0,     0,  1223,     0,     0,     0,     0,     0,     0,
    3543             :        0,     0,     0,   148,   149,   154,     0,     0,     0,     0,
    3544             :     1223,     0,     0,     0,     0,     0,     0,     0,   644,   659,
    3545             :      647,     0,     0,     0,     0,     0,   655,     0,     0,   150,
    3546             :      657,   286,   634,   640,     0,     0,     0,   745,   744,     0,
    3547             :        0,     0,     0,     0,     0,  1428,     0,  1427,     0,     0,
    3548             :        0,     0,     0,  1528,  1527,     0,     0,     0,     0,     0,
    3549             :        0,  1330,     0,   275,   277,     0,     0,     0,     0,     0,
    3550             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3551             :      400,   401,     0,     0,     0,   154,     0,     0,  1330,     0,
    3552             :      288,     0,     0,  1479,  1476,  1477,     0,  1482,     0,     0,
    3553             :        0,     0,  2124,     0,  2292,  1766,  2290,  1156,  2344,     0,
    3554             :     2480,  2903,  2904,  2905,  2906,  2907,  2908,  2909,  2910,  2911,
    3555             :     2912,  2913,  2914,  2915,  2916,  2917,  2918,  2919,  2920,  2921,
    3556             :     2922,  2923,  2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,
    3557             :     2932,  2933,  2934,  2935,  2936,  2937,  2938,  2939,  2940,  2941,
    3558             :     2942,  2943,  2944,  2945,  2946,  2947,  2948,  2949,  2950,  2951,
    3559             :     2952,  2953,  2954,  2955,  2956,  2957,  2958,  2959,  2960,  2961,
    3560             :     2962,  2963,  2964,  2965,  2966,  2967,  2968,  2969,  2970,  2971,
    3561             :     2972,  2973,  2974,  2975,  2976,  2977,  2978,  2979,  2980,  2341,
    3562             :     2340,  2435,  2481,  2482,  2483,  2484,  2347,  1550,     0,   233,
    3563             :      234,   232,  1568,   235,  1569,  1564,     0,  1551,     0,     0,
    3564             :        0,     0,     0,     0,     0,     0,  2520,  2583,     0,     0,
    3565             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3566             :        0,     0,     0,     0,   860,  1499,  1537,     0,     0,     0,
    3567             :      688,     0,  2602,     0,   152,   899,     0,   850,   467,     0,
    3568             :        0,     0,     0,  1404,   152,     0,     0,   190,     0,     0,
    3569             :      742,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3570             :        0,   851,     0,     0,   152,     0,  2602,   637,  2602,     0,
    3571             :      555,   555,     0,     0,   141,   138,     0,     0,     0,     0,
    3572             :        0,     0,     0,     0,  1700,  1699,  1702,  1701,     0,  1698,
    3573             :        0,   143,   144,     0,  1230,  1255,     0,     0,     0,     0,
    3574             :        0,   926,   951,     0,     0,  1224,     0,     0,  2602,   145,
    3575             :     2602,     0,  2602,     0,     0,     0,  1232,   145,     0,  1226,
    3576             :        0,     0,  1228,     0,  1430,     0,   942,   940,   939,   941,
    3577             :        0,     0,   924,     0,     0,     0,     0,     0,   919,     0,
    3578             :        0,   921,     0,     0,     0,     0,  1742,  1587,     0,  1016,
    3579             :        0,  1020,     0,  1011,     0,  1017,     0,  1012,  1009,  1010,
    3580             :        0,  1015,     0,     0,   556,   562,     0,     0,  2545,  2562,
    3581             :        0,  2591,  2626,  2627,  2682,  2700,  2729,  2735,  2741,     0,
    3582             :     2772,  2784,     0,  1046,  1084,  1036,   754,     0,     0,  1660,
    3583             :     1453,  2297,     0,  1742,     0,     0,  1270,     0,     0,   138,
    3584             :      251,   223,     0,     0,  1084,     0,  2733,  1466,  1001,   679,
    3585             :        0,  2112,     0,  2119,  2120,  2336,     0,     0,     0,     0,
    3586             :        0,     0,  2118,     0,     0,     0,     0,  2393,     0,     0,
    3587             :     2393,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3588             :        0,  2043,     0,     0,  2296,     0,     0,  2296,     0,     0,
    3589             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3590             :     2044,  2025,  2026,  2116,  2288,     0,  2117,  2446,     0,  2016,
    3591             :     2485,  2278,     0,  2275,  2276,  2277,  2981,  2982,  2983,  2984,
    3592             :     2985,  2986,  2987,  2988,  2989,  2990,  2991,  2992,  2993,  2994,
    3593             :     2995,  2996,  2997,     0,  2998,  2999,  3000,  3001,  3002,  3004,
    3594             :     3003,  3005,  3006,  3007,  3008,  3009,  3010,  2351,  3012,  3013,
    3595             :     3014,  3015,  3016,  3017,  3018,  3019,  3020,  3021,  3022,  3023,
    3596             :     3024,  3025,  3026,  3027,  3028,  3029,  3030,  3031,  3032,  3033,
    3597             :     3034,  3035,  3036,  3037,  3038,  3039,  3040,  3041,  3042,  3043,
    3598             :     3044,  3045,  3046,  3047,  3048,  3049,  3050,  3051,  3052,  3053,
    3599             :     3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,  3063,
    3600             :     3064,  3065,  3066,  3067,  3068,  3069,  3070,  3071,  3072,  3073,
    3601             :     3074,  3075,  3076,  3077,  3078,  3079,  3080,  3081,  3082,  3083,
    3602             :     3084,  3085,  3086,  3087,  3088,  3089,  3090,  3091,  3092,  3093,
    3603             :     3094,  3095,  3096,  3097,  3098,  3099,  3100,  3101,  3102,  3103,
    3604             :     3104,  3105,  3106,  3107,  3108,  3109,  3110,  3111,  3112,  3113,
    3605             :     3114,  3115,  3116,  3117,  3118,  3119,  3120,  3121,  3122,  3123,
    3606             :     3124,  3125,  3126,  3127,  3128,  3129,  3130,  3131,  3132,  3133,
    3607             :     3134,  3135,  3136,  3137,  3138,  3139,  3140,  3141,  3142,  3143,
    3608             :     3144,  3145,  3146,  3147,  3148,  3149,  3150,  3151,  3152,  3153,
    3609             :     3154,  3155,  3156,  3157,  3158,  3159,  3160,  3161,  3162,  3163,
    3610             :     3164,  3165,  3166,  3167,  3168,  3169,  2058,  3170,  3171,  3172,
    3611             :     3173,  3174,  3175,  3176,  3177,  3178,  3179,  3180,  3181,  3182,
    3612             :     3183,  3184,  3185,  3186,  3187,  3188,  3189,  3190,  3191,  3192,
    3613             :     3193,  3194,  3195,  3196,  3197,  3198,  3199,  3200,  3201,  3202,
    3614             :     3203,  3204,  3205,  3206,  3207,  3208,  3209,  3210,  3211,  3212,
    3615             :     3213,  3214,  3215,  3216,  3217,  3218,  3219,  3220,  3221,  3222,
    3616             :     3223,  3224,  3225,  3226,  3227,  3228,  3229,  3230,  3231,  3232,
    3617             :     3233,  3234,  3235,  2060,  3236,  3237,  3238,  3239,  3240,  3241,
    3618             :     3242,  3243,  3244,  3245,  3246,  3247,  3248,  3249,  3250,  3251,
    3619             :     3252,  3253,  3254,  3255,  3256,  3257,  3258,  3259,  3260,  3261,
    3620             :     3262,  3263,  3264,  3265,  3266,  3267,  3268,  3269,  3270,  3271,
    3621             :     3272,  3273,  3274,  3275,  3278,  3276,  3277,  3279,  3280,  3281,
    3622             :     3282,  3283,  3284,  3285,  3286,  3287,  3288,  3289,  3290,  3291,
    3623             :     3292,  3293,  3294,  3295,  3296,  3297,  3298,  3299,  3300,  3301,
    3624             :     3302,  3303,  3304,  3305,  3306,  3307,  3308,  3309,  3310,  3311,
    3625             :     3312,  3313,  3314,  3315,  3316,  3317,  3318,  3319,  3320,  3321,
    3626             :     3322,  3323,  3324,  3325,  3326,  3327,  3328,  3329,  3330,  3331,
    3627             :     3332,  3333,  3334,  3336,  3335,  3337,  3338,  3339,  3340,  3341,
    3628             :     3342,  3343,  3344,  3345,  3346,  3347,  3348,  3349,  3350,  3351,
    3629             :     3352,  3353,  3354,  3355,  3356,  3357,  3358,  3359,  3360,  3361,
    3630             :     3362,  3363,  3364,  3365,  3366,  3367,  3368,  3369,  3370,  3371,
    3631             :     3372,  3373,  3374,  3375,  3376,  3377,  3378,  3379,  3380,  3381,
    3632             :     3382,  3383,  3384,  3385,  3386,  3387,  3388,  3389,  3390,  3391,
    3633             :     3393,  3392,  3394,  3395,  3396,  3397,  3398,  3399,  3400,  3401,
    3634             :     3402,  3403,  3404,  3405,  3406,  3407,  3408,  3409,  3410,  3411,
    3635             :     3412,  3413,  3414,  3415,  3416,  3417,  3418,  3419,  3420,  3421,
    3636             :     3422,  3423,  3424,  3425,  3426,  3427,  3428,  3429,  3430,  3431,
    3637             :     3432,  3433,  3434,  3435,     0,  2272,  2273,  2274,  2266,  2267,
    3638             :     2268,  2269,  2270,  2271,  2282,     0,     0,  2425,  2486,     0,
    3639             :     2225,     0,  2040,     0,  2233,     0,     0,  1829,     0,  2444,
    3640             :     2339,  1829,   267,   268,   264,     0,     0,   219,   218,     0,
    3641             :      237,   241,   242,   213,   240,     0,   236,   221,  2209,  2208,
    3642             :      220,   212,   209,   207,   224,   226,   227,   210,   208,   261,
    3643             :        0,     0,     0,   145,  1585,  1572,     0,     0,  2351,     0,
    3644             :     2286,     0,     0,  2284,     0,     0,     0,  1826,     0,  1730,
    3645             :        0,  1734,     0,     0,     0,  1991,  1990,  1941,  1937,     0,
    3646             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3647             :        0,     0,   963,     0,  1959,     0,  1894,  2468,  2469,  2349,
    3648             :     1762,  1585,     0,  1581,  1725,  1724,  1767,  1768,  1122,  1723,
    3649             :     1796,  1797,     0,     0,     0,     0,  1822,  1820,  1787,  1778,
    3650             :     1786,     0,     0,  1784,     0,  1788,  2020,  1815,  1712,  1772,
    3651             :     1773,  1776,  1711,     0,  1818,     0,  1663,  1816,  1777,  1647,
    3652             :        0,  1618,     0,     0,  1879,     0,     0,  1486,     0,     0,
    3653             :        0,  1151,  1153,     0,  1152,     0,  1155,     0,  1164,     0,
    3654             :        0,  1150,  1169,     0,  1158,  1156,     0,  1526,     0,     0,
    3655             :        0,     0,     0,  1506,     0,     0,     0,  2772,   255,  1509,
    3656             :     1514,  1501,  1512,     0,     0,     0,     0,     0,  1086,  1085,
    3657             :        0,     0,     0,  1533,   547,     0,   365,     0,     0,     0,
    3658             :        0,     0,     0,     0,     0,   846,   843,     0,     0,   842,
    3659             :        0,   693,     0,     0,     0,     0,     0,     0,     0,     0,
    3660             :        0,     0,     0,   718,     0,  1330,     0,   294,     0,  1190,
    3661             :        0,  1189,     0,  1194,     0,     0,  1191,  1186,  1187,  2735,
    3662             :     2745,  2779,   257,  1192,  1222,     0,  1221,  1217,     0,  1133,
    3663             :        0,  1134,     0,     0,     0,     0,     0,     0,     0,  2575,
    3664             :        0,  2602,     0,     0,   510,   302,   326,   537,     0,  1329,
    3665             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3666             :        0,     0,     0,     0,     0,   349,     0,     0,   352,   351,
    3667             :        0,     0,     0,     0,     0,   357,     0,   335,     0,   336,
    3668             :        0,   356,     0,     0,     0,   661,   662,     0,     0,     0,
    3669             :     1330,     0,   290,     0,     0,     0,     0,     0,     0,     0,
    3670             :        0,  1239,     0,   771,     0,     0,  2735,  1218,     0,  1413,
    3671             :        0,  2771,  1414,  1417,   555,     0,   555,  1419,     0,     0,
    3672             :     1416,  1418,     0,     0,   176,     0,   171,   175,     0,     0,
    3673             :     2735,  1219,     0,     0,     0,     0,     0,   642,   643,   658,
    3674             :        0,   648,   649,   645,   650,   651,     0,     0,     0,     0,
    3675             :        0,     0,     0,   641,     0,     0,   740,   739,   743,     0,
    3676             :        0,     0,     0,     0,     0,  1422,     0,     0,  1213,     0,
    3677             :        0,  1421,  1429,     0,     0,     0,     0,     0,     0,     0,
    3678             :        0,     0,     0,  1273,  1272,     0,     0,     0,     0,  1340,
    3679             :        0,   889,     0,     0,     0,     0,     0,     0,     0,     0,
    3680             :        0,     0,   178,   758,     0,   757,     0,   172,   177,     0,
    3681             :        0,     0,     0,     0,     0,     0,     0,   231,  1475,  1481,
    3682             :     1766,  1766,  1766,  2130,     0,     0,     0,     0,  1765,  2342,
    3683             :     2345,  1555,  1561,  1554,  1553,     0,     0,     0,     0,     0,
    3684             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3685             :        0,     0,   414,   411,   412,   414,     0,     0,     0,     0,
    3686             :      862,     0,   865,   868,  1497,   494,     0,     0,   685,   718,
    3687             :        0,     0,   470,   185,     0,     0,     0,     0,   773,     0,
    3688             :     1213,  1212,   147,   138,   194,   468,     0,   193,   195,   197,
    3689             :      198,   199,   196,   200,     0,   737,   741,     0,     0,     0,
    3690             :        0,   681,     0,     0,     0,     0,     0,     0,     0,  1899,
    3691             :        0,     0,   170,     0,     0,   632,   636,     0,     0,     0,
    3692             :        0,   470,   598,   376,  2602,     0,   555,     0,  2602,     0,
    3693             :      137,     0,   849,     0,     0,     0,  1175,  1175,     0,     0,
    3694             :      787,   786,     0,     0,     0,     0,     0,     0,  1697,   145,
    3695             :     1173,     0,  1520,     0,   145,   966,   145,  1137,   184,  2463,
    3696             :        0,   928,     0,     0,     0,     0,   145,  1241,   916,   145,
    3697             :      180,   145,   145,   684,     0,   145,   182,     0,     0,   145,
    3698             :      960,   145,  2433,     0,   145,  1611,  2602,   555,  1589,  1013,
    3699             :     1022,  1021,  1019,  1018,  1014,     0,  1033,     0,   554,     0,
    3700             :        0,     0,     0,     0,  1054,  1055,     0,     0,  1051,  1056,
    3701             :        0,  1058,  1042,  1044,  1052,  1053,  1059,  1048,  1047,  1060,
    3702             :     1061,     0,     0,     0,  1073,   752,     0,     0,     0,     0,
    3703             :     1657,     0,  1655,     0,  1877,  1659,  1648,  1601,     0,  1600,
    3704             :        0,   625,  1264,  1263,  1265,     0,  1030,     0,   145,     0,
    3705             :     1465,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3706             :        0,     0,  2301,     0,  2302,     0,     0,  2335,  2331,     0,
    3707             :        0,     0,     0,     0,  2305,  2308,  2309,  2310,  2307,  2311,
    3708             :     2306,     0,     0,  2312,     0,     0,  2386,  2403,     0,  2116,
    3709             :     2386,  2414,     0,  2413,  2419,     0,  2292,  2020,     0,     0,
    3710             :     2410,  2404,     0,  2410,     0,     0,  2393,     0,     0,     0,
    3711             :        0,  2193,     0,     0,     0,  2292,  2295,     0,     0,  2859,
    3712             :        0,     0,     0,     0,  2088,     0,     0,  2259,     0,  2292,
    3713             :        0,     0,     0,     0,     0,     0,     0,  2288,  2327,     0,
    3714             :      508,     0,  2078,     0,     0,     0,  2207,     0,  2204,     0,
    3715             :        0,     0,     0,  2348,     0,     0,  2447,  2021,  2036,  2037,
    3716             :     2038,  2041,  2424,  2024,     0,  2350,     0,     0,  2022,  2049,
    3717             :        0,  2328,  2074,     0,  2079,  2064,  2394,  2313,  2314,  2315,
    3718             :     2316,  2081,     0,  2057,  2062,  2066,     0,  2403,  2045,     0,
    3719             :     2042,     0,  2351,  2287,     0,  2285,     0,  2033,  2034,  2035,
    3720             :     2027,  2028,  2029,  2030,  2031,  2032,  2039,  2263,  2261,  2262,
    3721             :        0,     0,  2233,     0,     0,  2061,     0,     0,  2132,  2594,
    3722             :     2633,     0,  1755,  1755,  1755,  1743,  1753,  2423,  1894,  1766,
    3723             :     1894,  2429,     0,     0,  2016,     0,  1875,   968,   969,   967,
    3724             :     1557,  1571,  1585,  2289,  1579,  1732,     0,     0,     0,  1960,
    3725             :     1973,     0,  2000,  2001,  2002,  2002,     0,  1942,     0,  1985,
    3726             :     2010,  2011,  2012,  2013,  2014,  2015,     0,  2009,  1951,   964,
    3727             :     2835,  2844,     0,  2731,  2879,     0,  1855,  1828,  1830,  1840,
    3728             :     1855,  1862,  1855,  1855,  2134,  1892,  2135,  2136,  2430,     0,
    3729             :     1799,  2465,  1559,  1583,     0,  1120,  1121,     0,  1125,  2859,
    3730             :     2731,     0,     0,     0,     0,  1789,  1823,     0,  1814,     0,
    3731             :     2440,  1790,  2439,  1791,  1794,  1795,  1785,  1824,  1661,     0,
    3732             :     1819,  1716,  1715,     0,  1897,     0,     0,     0,  1632,  1620,
    3733             :        0,     0,  1880,     0,  1829,  1665,     0,  2348,  1827,  1380,
    3734             :     1274,  1341,  1154,     0,  1961,  1165,     0,  1149,     0,  1148,
    3735             :     1961,     0,  1166,     0,  1961,  1381,  1275,  1342,  1382,  1276,
    3736             :     1343,  1383,  1517,  1277,  1516,  1504,  1503,  1502,     0,     0,
    3737             :        0,     0,     0,     0,     0,     0,   825,  2602,   145,  1531,
    3738             :     1384,     0,  1278,   364,  1532,  1344,  1536,   845,   844,     0,
    3739             :        0,  1345,     0,   694,   699,     0,   701,   702,  2520,  2583,
    3740             :      703,   706,   707,     0,   709,   698,   697,     0,     0,     0,
    3741             :        0,     0,   715,   720,     0,     0,     0,     0,     0,     0,
    3742             :     1184,  1185,  1385,  1281,     0,  1346,     0,  1132,     0,  1282,
    3743             :      186,     0,     0,   282,     0,  2602,   304,     0,     0,     0,
    3744             :        0,     0,     0,     0,     0,     0,   825,   492,   825,     0,
    3745             :     1332,   301,   333,     0,   348,   343,   344,   342,  2602,   145,
    3746             :     2602,   145,     0,     0,     0,     0,     0,   345,   340,   341,
    3747             :      337,     0,     0,   350,  2492,  2564,  2746,     0,   726,   728,
    3748             :        0,   733,   353,  1302,   372,   371,   370,     0,   358,     0,
    3749             :      377,   380,     0,   355,   334,   332,   329,   297,     0,     0,
    3750             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1234,
    3751             :        0,  1388,  1347,     0,  1369,  1373,     0,     0,     0,   765,
    3752             :     1391,  1288,  1350,     0,   555,     0,     0,   574,   574,   555,
    3753             :     1402,  1289,   174,  1319,   163,     0,     0,   159,     0,     0,
    3754             :        0,     0,   153,  1392,  1290,  1351,     0,     0,  1393,  1291,
    3755             :        0,     0,   287,   635,   646,   652,  1296,   656,   653,  1359,
    3756             :      654,  1400,  1292,     0,  1396,  1322,  1354,   390,   618,   389,
    3757             :     1213,  1213,  1403,  1423,  1293,  1213,     0,  1330,     0,   276,
    3758             :      278,     0,   142,     0,  1294,     0,  1352,  1395,  1321,     0,
    3759             :        0,     0,     0,     0,     0,     0,     0,     0,  1539,     0,
    3760             :        0,     0,     0,     0,     0,   145,     0,     0,     0,  1332,
    3761             :     2602,   145,   887,  1394,     0,  1327,     0,  1367,     0,     0,
    3762             :        0,   402,     0,  1320,  1330,     0,   289,  1298,     0,  1361,
    3763             :        0,     0,   229,   228,   230,     0,     0,     0,     0,  2293,
    3764             :     2294,     0,  2291,  2125,  2344,     0,  1549,   990,   976,   989,
    3765             :        0,   972,  2562,     0,   975,   977,     0,     0,     0,   978,
    3766             :      982,   983,     0,   974,   971,   973,     0,   413,     0,     0,
    3767             :      782,   783,     0,     0,     0,     0,   864,     0,     0,  1529,
    3768             :        0,   150,   692,     0,     0,     0,   687,   717,   722,     0,
    3769             :        0,     0,     0,   469,   473,   477,   478,   479,     0,     0,
    3770             :        0,     0,   164,   151,     0,   905,     0,   555,     0,   775,
    3771             :     1213,  1406,     0,   194,   189,     0,     0,   738,     0,  1580,
    3772             :        0,     0,   613,   616,   615,     0,   376,   859,   857,   856,
    3773             :      858,   880,   855,     0,  1898,  1900,     0,     0,     0,     0,
    3774             :        0,     0,   625,   472,     0,     0,   562,     0,   601,     0,
    3775             :        0,     0,     0,   598,     0,     0,     0,  2473,     0,   876,
    3776             :      848,     0,  1143,     0,  1161,  1144,     0,     0,     0,     0,
    3777             :     1198,  1205,  1174,  1199,  1176,  1205,     0,     0,   788,   792,
    3778             :      791,   795,   793,     0,   789,   666,  1703,  1704,     0,  1231,
    3779             :        0,     0,  1525,     0,  1523,   927,  1225,   145,     0,   145,
    3780             :        0,   145,  1233,  1227,  1229,  1431,     0,   925,     0,     0,
    3781             :      918,   920,     0,   922,     0,  1034,   557,     0,     0,     0,
    3782             :        0,     0,     0,  1050,   664,  1057,     0,     0,     0,  1072,
    3783             :     1067,  1069,     0,  1084,  1078,     0,   751,     0,     0,  1658,
    3784             :     1651,  1653,  1652,     0,     0,  1649,  2298,   917,     0,   631,
    3785             :        0,  1084,  1075,     0,     0,     0,     0,     0,     0,     0,
    3786             :        0,     0,     0,     0,  1760,  2299,  2300,     0,     0,     0,
    3787             :     2332,     0,     0,  2169,     0,  2140,  2142,  2155,     0,  2170,
    3788             :     2123,     0,  2385,  2382,     0,     0,     0,  2386,  2393,  2189,
    3789             :        0,     0,     0,  2393,     0,  2413,     0,     0,     0,  2184,
    3790             :     2186,     0,     0,     0,  2403,  2403,     0,  2191,     0,     0,
    3791             :     2171,  2144,  2146,  2156,     0,     0,  2279,     0,  2159,  2158,
    3792             :        0,  2090,  2091,     0,     0,     0,     0,     0,     0,     0,
    3793             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3794             :        0,  2105,  2160,  2258,     0,     0,     0,  2162,  2161,     0,
    3795             :        0,  2326,     0,     0,     0,  2167,   509,  2172,     0,     0,
    3796             :        0,     0,  2178,     0,  2215,     0,     0,     0,  2113,  2289,
    3797             :        0,     0,     0,     0,     0,     0,     0,  2396,  2397,  2398,
    3798             :     2395,     0,  2080,  2065,  2083,  2059,  2063,  2067,     0,  2403,
    3799             :     2082,  2085,     0,     0,  2053,     0,     0,  2051,  2075,  2047,
    3800             :        0,     0,  2076,     0,  2131,     0,     0,     0,  2236,  2231,
    3801             :     2232,  1755,  1755,  1755,  1755,  1752,     0,     0,     0,  1799,
    3802             :        0,  1799,   205,     0,   238,   225,  1556,  1733,  1742,  1979,
    3803             :        0,  1997,  1995,  1938,  1943,  2018,     0,  1855,  1862,  1855,
    3804             :     1855,     0,     0,  1718,     0,  1840,     0,  1854,  1838,  1853,
    3805             :        0,     0,  1868,  1866,     0,  1868,     0,  1868,     0,  1832,
    3806             :        0,  1858,  1834,  1853,  1836,  1842,     0,  1884,  2431,  1893,
    3807             :        0,  1812,  1769,     0,  2280,  1125,     0,  1771,  1793,  1792,
    3808             :        0,  1782,     0,  1821,  1779,  1662,  1646,     0,  1637,  1624,
    3809             :     1626,  1625,     0,     0,  1627,  2348,     0,  1637,  1619,     0,
    3810             :     1670,     0,     0,  1897,     0,  1669,     0,  1961,  1146,  1147,
    3811             :        0,  1170,     0,  1089,  1090,     0,  1088,     0,     0,     0,
    3812             :      546,   549,     0,  1534,     0,  1401,  1318,   696,     0,     0,
    3813             :        0,     0,   711,   670,   712,   714,     0,     0,   713,   716,
    3814             :      719,  1330,     0,   295,  1304,     0,  1365,  1178,     0,     0,
    3815             :     1135,     0,     0,     0,     0,     0,  1106,   536,  1105,     0,
    3816             :        0,     0,   825,     0,   825,     0,     0,   541,     0,   491,
    3817             :      488,   328,   327,     0,     0,     0,     0,   385,     0,   306,
    3818             :      319,   383,   325,     0,   360,     0,   331,     0,   323,   346,
    3819             :      338,   347,   339,   359,   361,     0,   730,   731,   729,   725,
    3820             :        0,   732,   734,     0,   374,     0,     0,     0,   392,   354,
    3821             :      391,     0,  1387,     0,  1330,     0,   291,  1300,     0,  1363,
    3822             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3823             :        0,     0,  1368,     0,     0,     0,     0,   770,     0,   767,
    3824             :        0,   574,     0,  1415,     0,  1412,  1410,   574,     0,     0,
    3825             :      156,   155,     0,   162,     0,     0,     0,     0,     0,     0,
    3826             :     1424,  1425,  1426,     0,     0,     0,     0,     0,     0,   396,
    3827             :        0,   298,   300,   299,     0,     0,     0,     0,     0,     0,
    3828             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3829             :        0,   403,   367,     0,   883,     0,     0,     0,   405,     0,
    3830             :        0,  1379,     0,     0,     0,     0,     0,  1386,  1283,  2128,
    3831             :     2129,  2126,  1766,  2343,     0,     0,     0,   987,     0,     0,
    3832             :        0,     0,   416,   417,   150,   415,   440,     0,   825,     0,
    3833             :        0,   861,   866,   874,  2672,  2266,  2267,   872,   867,   869,
    3834             :      871,   873,   870,     0,     0,     0,     0,   516,   520,     0,
    3835             :        0,     0,   500,     0,     0,   510,   493,   496,   497,     0,
    3836             :        0,   688,   691,   689,   690,     0,   710,     0,   472,   525,
    3837             :      588,     0,   166,     0,     0,   167,   165,     0,     0,   376,
    3838             :      772,     0,   769,  1405,     0,   192,     0,   742,     0,     0,
    3839             :        0,     0,     0,  1213,   680,     0,   879,   881,   853,     0,
    3840             :      722,     0,     0,   637,     0,   555,  1612,   620,     0,   590,
    3841             :      472,   588,   597,     0,     0,   605,   375,     0,     0,   625,
    3842             :      376,     0,     0,  1106,     0,   875,     0,     0,  1142,     0,
    3843             :        0,     0,  1195,  1200,  1196,     0,  1175,  1157,     0,  1197,
    3844             :        0,     0,  1203,  1128,  1177,  1129,  1447,  1448,  1445,  1446,
    3845             :        0,     0,     0,     0,     0,     0,  1694,     0,     0,  1521,
    3846             :        0,   929,     0,   912,     0,   914,   145,   759,     0,   145,
    3847             :        0,     0,     0,     0,     0,     0,  1049,     0,  1043,  1045,
    3848             :     1070,     0,     0,  1084,  1083,     0,  1074,  1082,  1080,  1081,
    3849             :     1079,     0,     0,  1656,  1654,   623,     0,     0,   145,  1084,
    3850             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3851             :     2303,     0,  2334,  2330,     0,  2137,  2304,  2384,  2400,  2402,
    3852             :     2190,  2392,     0,     0,     0,  2415,     0,     0,  2393,  2353,
    3853             :     2407,  2406,     0,     0,  2405,  2393,  2393,  2353,  2192,  2353,
    3854             :        0,     0,     0,  2259,     0,     0,  2089,  2101,  2102,  2103,
    3855             :     2319,     0,  2108,     0,  2098,  2099,  2100,  2092,  2093,  2094,
    3856             :     2095,  2096,  2097,  2104,  2323,  2322,     0,     0,  2164,  2165,
    3857             :     2166,  2325,  2173,     0,  2510,  2216,     0,  2177,  2206,  2205,
    3858             :        0,     0,     0,  2180,     0,     0,  2202,     0,  2260,  2448,
    3859             :     2023,     0,     0,  2050,  2329,  2068,     0,  2084,  2086,  2046,
    3860             :     2279,     0,     0,     0,     0,     0,  2055,     0,     0,  2256,
    3861             :        0,     0,     0,  2238,  2235,     0,     0,     0,     0,  1746,
    3862             :     1745,  1751,  1812,  2125,  1812,     0,     0,  1939,     0,  1839,
    3863             :     1835,  1837,  1843,     0,  2874,     0,  1844,  1851,     0,  1831,
    3864             :        0,  1867,  1863,     0,  1864,     0,     0,  1865,     0,     0,
    3865             :     1833,     0,  1851,     0,  1891,  1758,     0,  2227,     0,  1770,
    3866             :     1123,  1124,  1780,     0,  1783,  2541,  1895,  1639,  1645,     0,
    3867             :        0,     0,  1629,  1635,  1617,     0,     0,     0,  1666,  1637,
    3868             :     1667,  1167,     0,     0,  1159,  1095,     0,  1096,  1099,  1097,
    3869             :     1094,  1098,     0,     0,     0,   825,   828,   834,     0,     0,
    3870             :        0,   826,   145,  1279,     0,     0,     0,     0,   671,  1399,
    3871             :     1280,     0,     0,     0,     0,  1179,  1333,     0,     0,  1303,
    3872             :      825,     0,     0,     0,   569,     0,  1119,  1119,   559,   303,
    3873             :      539,   553,   543,   610,   553,   490,   489,     0,   487,   722,
    3874             :        0,     0,   310,   320,     0,   315,     0,  1331,     0,     0,
    3875             :        0,     0,   314,   317,   316,   387,     0,   384,     0,   145,
    3876             :      145,   362,   727,   373,   378,   379,   382,  1338,     0,     0,
    3877             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    3878             :        0,   906,   891,     0,     0,   907,   908,     0,     0,     0,
    3879             :     1236,  1237,  1235,  1370,  1371,  1377,  1374,  1372,  1376,  1378,
    3880             :     1375,     0,  1286,     0,     0,   763,  1334,  1407,  1409,  1408,
    3881             :        0,  1411,   160,   157,   158,   161,  1335,  1316,  1297,  1360,
    3882             :      619,     0,     0,     0,  1295,     0,  1353,     0,  1312,  1306,
    3883             :        0,     0,     0,     0,     0,  1398,  1326,  1358,  1397,  1324,
    3884             :     1356,  1323,  1355,  1325,  1357,  1317,     0,     0,  1902,   888,
    3885             :        0,     0,     0,   145,   145,   886,   761,  1299,     0,  1362,
    3886             :     1308,     0,     0,     0,   979,     0,     0,     0,   981,   421,
    3887             :      441,   150,     0,   781,   847,     0,     0,   863,     0,   498,
    3888             :        0,   504,   511,     0,     0,   518,   519,   517,   521,   551,
    3889             :     1213,   555,  1213,   814,   815,     0,     0,   837,     0,   686,
    3890             :        0,     0,   470,     0,   522,     0,     0,   474,   169,   168,
    3891             :        0,     0,     0,   776,   780,   778,   777,   779,   774,     0,
    3892             :      765,   194,  2602,     0,     0,     0,     0,   617,   611,   614,
    3893             :     1420,   854,     0,  1901,   755,     0,   376,   633,     0,     0,
    3894             :        0,   470,   625,     0,   475,   480,   481,   494,     0,   598,
    3895             :      589,     0,   590,   599,   600,     0,   607,  1495,     0,   626,
    3896             :      607,     0,     0,     0,   878,     0,   877,     0,  1145,  1162,
    3897             :     1163,     0,     0,  1205,     0,     0,  1207,  1202,     0,     0,
    3898             :      794,   797,   790,   673,   145,     0,  1524,   145,   145,  1262,
    3899             :        0,   923,  1064,  1065,  1066,  1063,  1062,   665,     0,  1068,
    3900             :     1027,  1077,   753,     0,   624,     0,  1028,   145,  1004,   996,
    3901             :     1003,   992,   995,   997,     0,   999,  1000,   994,   991,   993,
    3902             :     2333,  2154,     0,  2399,  2401,  2188,  2412,  2411,  2187,  2418,
    3903             :        0,     0,  2381,  2409,  2408,     0,     0,  2393,  2393,  2157,
    3904             :     2168,     0,  2258,  2289,     0,     0,  2109,     0,     0,     0,
    3905             :     2163,  2869,     0,     0,  2220,  2221,     0,  2217,  2218,  2213,
    3906             :     2214,  2179,     0,  2659,  2197,     0,     0,  2212,  2072,  2070,
    3907             :     2069,  2054,     0,     0,  2052,  2048,     0,  2077,  2222,  2255,
    3908             :     2289,  2224,     0,  1766,  1750,  1749,  1748,  1747,  2227,  2445,
    3909             :     2227,   239,  1737,     0,  1887,     0,  1890,     0,     0,  1841,
    3910             :        0,     0,  1845,     0,     0,  1847,  1849,     0,     0,     0,
    3911             :        0,     0,     0,  2434,     0,  1811,     0,  1766,     0,  1781,
    3912             :        0,     0,     0,  1621,     0,  1622,  1628,     0,     0,     0,
    3913             :        0,     0,  1671,  1664,  1160,  1168,  1100,     0,     0,     0,
    3914             :      548,   830,   829,   832,   827,   833,   831,  1535,     0,   704,
    3915             :      705,   708,  1305,     0,  1366,  1314,     0,  1660,   538,   305,
    3916             :        0,   564,     0,     0,     0,  1112,   140,  1111,     0,     0,
    3917             :        0,     0,     0,   486,   485,   494,   313,     0,     0,     0,
    3918             :      307,   386,     0,   388,   308,   312,   367,   330,   322,     0,
    3919             :        0,     0,  1301,     0,  1364,  1310,  1337,  1389,  1284,  1348,
    3920             :        0,     0,   897,     0,     0,     0,     0,  1390,  1285,  1349,
    3921             :        0,     0,     0,     0,     0,  1660,     0,     0,     0,     0,
    3922             :        0,     0,     0,     0,  1544,     0,     0,   366,   885,   884,
    3923             :      367,   404,  1328,     0,  2127,     0,   980,   985,   986,   984,
    3924             :        0,   410,   418,   421,     0,     0,  1253,  1253,     0,     0,
    3925             :      495,   512,     0,     0,   499,   609,   568,   609,     0,     0,
    3926             :        0,     0,     0,   723,     0,     0,     0,     0,     0,     0,
    3927             :        0,     0,     0,     0,   768,   767,   191,     0,   470,     0,
    3928             :      722,     0,   882,     0,     0,     0,   625,   472,     0,     0,
    3929             :     1609,   471,     0,     0,   483,     0,   601,   590,   598,     0,
    3930             :        0,   622,     0,  1488,     0,   628,     0,     0,     0,   824,
    3931             :     1201,     0,  1215,     0,  1156,  1126,  1210,     0,  1742,  1894,
    3932             :        0,     0,     0,     0,   807,     0,   677,  1254,  1522,   913,
    3933             :      915,   760,  1071,     0,  1084,  1076,   998,  2383,  2417,  2352,
    3934             :     2354,     0,     0,  2375,  2368,  2371,  2369,  2370,  2372,     0,
    3935             :     2367,     0,  2185,  2416,  2365,  2379,  2318,  2260,  2106,     0,
    3936             :     2321,  2320,  2324,     0,  2174,     0,  2175,  2219,  2181,  2198,
    3937             :        0,  2182,  2210,     0,     0,  2073,  2071,  2056,  2257,     0,
    3938             :     2242,  1720,  1719,     0,  1740,  1923,  1892,     0,     0,  1886,
    3939             :        0,     0,  1917,     0,     0,     0,  1852,  1870,     0,  1848,
    3940             :     1846,     0,  1859,     0,  1861,  2540,  2830,  2728,     0,  1798,
    3941             :     1800,  1803,  1805,  1804,  1806,  1802,  2226,  2228,     0,  1777,
    3942             :     2281,  1896,     0,  1636,     0,     0,     0,  1107,     0,     0,
    3943             :     1637,  1673,  1685,  1685,  1668,  1072,     0,   145,   700,     0,
    3944             :        0,   284,  1119,     0,  1213,   570,  2672,   571,  1118,  1122,
    3945             :      139,  2689,     0,   552,   564,   564,   482,     0,   311,   321,
    3946             :        0,   369,   381,     0,  1660,     0,     0,   895,   904,   904,
    3947             :      892,     0,     0,   909,  1287,   764,     0,   573,     0,   279,
    3948             :     1313,  1307,     0,     0,     0,  1546,  1547,     0,     0,     0,
    3949             :        0,     0,  1336,   145,  1309,   988,     0,   443,   451,   422,
    3950             :      426,  1538,     0,  1538,     0,   423,   427,  1538,  1538,   420,
    3951             :     1894,   439,  1253,     0,  1250,  1249,   551,   639,     0,   550,
    3952             :        0,   502,     0,   579,   501,     0,   838,     0,     0,   721,
    3953             :        0,   472,   588,     0,   535,   526,   527,   528,   529,   531,
    3954             :      530,   532,   533,   534,   524,   523,     0,   722,   901,   376,
    3955             :     1495,   762,     0,     0,   735,     0,   722,     0,  1612,   621,
    3956             :      590,   472,   588,   476,   494,     0,   605,   598,   601,     0,
    3957             :      602,     0,   606,     0,     0,     0,   625,  1548,  1106,     0,
    3958             :        0,   825,  1214,  1175,     0,     0,  1204,  1208,  1209,     0,
    3959             :        0,     0,     0,  1257,   801,   802,   796,   798,     0,   809,
    3960             :      813,   672,     0,     0,   676,   667,   722,   145,     0,     0,
    3961             :     2366,  2373,  2374,     0,  2195,     0,     0,  2391,     0,     0,
    3962             :        0,  2107,     0,     0,  2200,  2199,  2211,  2183,  2237,     0,
    3963             :        0,     0,     0,     0,     0,     0,  1731,     0,  2353,  1885,
    3964             :     1888,     0,  1920,     0,     0,     0,     0,  1905,     0,  1850,
    3965             :        0,     0,  1860,     0,     0,     0,  1807,     0,     0,     0,
    3966             :     1816,  1644,  1643,     0,  1640,     0,     0,  1634,  1894,     0,
    3967             :     1631,     0,  1680,     0,  1672,  1674,     0,     0,     0,  1091,
    3968             :        0,  1092,  1315,     0,  1113,     0,   609,     0,  1125,  1122,
    3969             :      558,     0,  1213,  1213,   639,     0,     0,   324,     0,   292,
    3970             :     1311,     0,     0,   893,   894,     0,     0,     0,     0,     0,
    3971             :        0,   398,     0,     0,  1540,     0,  1541,  1542,  1545,   406,
    3972             :      419,     0,   449,   448,     0,   446,   445,   447,     0,   436,
    3973             :        0,     0,     0,     0,     0,     0,   409,  1248,  1252,  1251,
    3974             :      503,     0,   505,     0,     0,   565,   566,   567,     0,   507,
    3975             :      575,   576,   835,     0,   840,     0,   724,     0,     0,   722,
    3976             :      587,   746,     0,     0,     0,  1489,     0,     0,   612,   756,
    3977             :     1495,   625,   598,     0,   590,   484,     0,   607,   601,   605,
    3978             :      603,   604,     0,  1492,     0,   627,     0,  1115,   823,     0,
    3979             :     1205,  1216,  1211,  1206,  1451,     0,     0,   799,   804,   803,
    3980             :     1538,   808,     0,     0,     0,   675,   674,   750,  1029,  2355,
    3981             :     2356,  2380,     0,     0,     0,  2359,     0,  2357,     0,     0,
    3982             :     2379,     0,  2196,  2317,  2203,  2176,  2201,  2817,  2541,  2787,
    3983             :        0,  2254,  2243,  2254,  2254,  2234,     0,     0,     0,  1922,
    3984             :        0,     0,     0,  1918,  1919,  1903,     0,     0,  1907,  1857,
    3985             :     1883,     0,     0,     0,  1801,  2229,  2230,  2464,  1638,     0,
    3986             :        0,  1623,  1633,  1108,     0,  1682,  1684,     0,     0,     0,
    3987             :     1660,     0,   574,     0,  1109,  1125,   561,   609,   609,   318,
    3988             :      309,   368,     0,     0,     0,   902,   911,   910,   766,  1660,
    3989             :        0,   394,   393,     0,   397,     0,   444,   454,     0,   452,
    3990             :      424,   429,     0,   435,   434,   431,   430,   425,   428,     0,
    3991             :      515,     0,     0,     0,     0,   577,     0,   578,     0,   839,
    3992             :        0,     0,     0,   748,   900,     0,     0,   470,   722,  1490,
    3993             :     1610,   601,   590,   598,     0,     0,   592,  1119,  1119,   457,
    3994             :      605,   607,  1493,  1494,     0,     0,   510,     0,  1127,  1450,
    3995             :     1449,  1742,     0,     0,     0,   810,   811,   806,     0,     0,
    3996             :     2360,     0,  2363,     0,  2364,  2358,  2388,  2390,     0,  2376,
    3997             :     2377,     0,  2247,  2246,  2245,  2249,  2248,     0,  2241,  2239,
    3998             :     2240,     0,     0,     0,     0,  1889,     0,  1906,  1909,     0,
    3999             :        0,     0,  1915,     0,  1908,  1910,     0,  1869,     0,  1881,
    4000             :     1809,     0,  1808,  1641,  1642,  1894,     0,  1687,     0,     0,
    4001             :     1675,  1676,     0,     0,  1677,   145,   285,   563,   825,   572,
    4002             :     1110,     0,   568,   825,   825,  1660,   896,     0,   280,     0,
    4003             :      399,  1543,   450,     0,   433,   432,   638,   513,   514,   506,
    4004             :      608,   584,     0,   583,     0,   581,   580,   836,   841,     0,
    4005             :      722,   890,  1495,   736,   605,   598,   601,     0,   591,     0,
    4006             :      140,   140,   607,   455,     0,     0,   376,     0,  1433,  1742,
    4007             :     1432,  1434,  1442,  1439,  1441,  1440,  1438,     0,  1260,  1261,
    4008             :      800,   805,     0,     0,  2361,  2362,     0,     0,  2194,     0,
    4009             :        0,     0,  2251,     0,  2252,     0,     0,     0,     0,     0,
    4010             :     1912,  1913,  1914,  1916,  1911,  1856,     0,  1810,  1630,  1681,
    4011             :     1683,  1678,     0,  1679,     0,     0,     0,     0,  1688,  1093,
    4012             :      544,   559,   579,   542,   540,   293,   903,     0,   453,   582,
    4013             :      555,   555,   722,   747,  1491,   607,   601,   605,  1119,   593,
    4014             :      595,   594,   459,  1115,  1116,     0,   607,   813,     0,  1443,
    4015             :     1437,  1718,  1705,     0,     0,   812,     0,     0,     0,     0,
    4016             :     2244,  2250,  2253,     0,     0,     0,     0,  2652,     0,  1924,
    4017             :        0,     0,     0,  1686,  1692,     0,     0,     0,     0,   825,
    4018             :        0,   586,   585,   749,   458,   605,   607,   140,   510,  1114,
    4019             :        0,  1894,     0,  1435,  1742,     0,     0,   818,  2387,  2389,
    4020             :     2378,  1736,  1735,  2835,     0,     0,  1739,  1932,     0,  2381,
    4021             :        0,     0,  1935,     0,  1882,     0,     0,     0,   560,   545,
    4022             :      395,   607,   456,   596,   376,  1117,  1101,     0,  1436,     0,
    4023             :        0,   820,     0,   816,   819,   821,   822,     0,     0,     0,
    4024             :        0,  1925,  1926,  1935,     0,  2365,  1935,  1904,  1689,  1693,
    4025             :        0,  1690,   460,   607,     0,     0,     0,   784,     0,  1766,
    4026             :        0,     0,     0,  1921,  2381,  1934,  2391,  2365,     0,  1894,
    4027             :        0,     0,     0,   817,     0,     0,     0,     0,  1929,  2379,
    4028             :     2391,     0,  1102,   818,  1258,  1259,     0,  1738,     0,     0,
    4029             :     1927,  2379,  1691,     0,     0,  1930,  1928,   785,     0,  1931
    4030             : };
    4031             : 
    4032             : /* YYPGOTO[NTERM-NUM].  */
    4033             : static const yytype_int16 yypgoto[] =
    4034             : {
    4035             :    -5950, -5950, -5950,  4198,  -387, -1747, -5168, -1141,  -767, -5950,
    4036             :    -5950,  -975,   561,  3443, -1136, -5950, -5950, -5950,  1356, -5950,
    4037             :    -5950, -5950, -5950,  4185, -5950, -2962, -5950, -5950,   208,  4125,
    4038             :    -1400,   168,  3752,  1712, -5950, -1016, -5950, -5950,  -656,     1,
    4039             :    -5950,  4128,   498, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    4040             :    -5950,  -786,  2176, -5950,  2276,  1510, -3518, -5950, -5950, -1543,
    4041             :    -3810, -5950,   758, -5950,   785, -4173, -5950, -4870,  -927, -5950,
    4042             :    -5950, -5950,  2166, -5950, -5950, -5950,  2113,  1300,  -273, -5950,
    4043             :    -5950, -5950, -5950, -5950, -5950,  -750, -5950, -5950, -1060,     4,
    4044             :     -658, -2963, -4373, -5950, -5950,   604,  -315, -1520, -5950,   800,
    4045             :    -5950,   801, -5950, -4892, -5950,   102, -2791, -2523, -5950, -5950,
    4046             :    -5950, -5950,  -285, -1529,  1549, -5950,  1612,  -527,   257,  -733,
    4047             :    -1157, -1128, -5950, -3096, -2867, -1027, -5950,  -166, -3621, -1125,
    4048             :     -752,  -749,  -910, -4428, -4953, -5950, -5950, -1059, -3836, -5254,
    4049             :    -5497, -4966, -5197,  1561, -5950,    81,   617, -5950,     6, -3687,
    4050             :    -3817,     7,   593, -5950,     8,    11, -5950,   609,  -679,  -976,
    4051             :    -1616, -5950,  -799, -5950, -5950, -5950, -3484, -5950, -5950, -5950,
    4052             :      171, -5950, -5950, -5950, -5950,   653, -5950, -5950, -5950, -5950,
    4053             :    -5950, -5950, -3237,  2147,  2149, -5950, -4371, -5950,  -957, -5950,
    4054             :      819, -3538,  1546, -5950, -5950,  1306,  4210,   639, -5950, -5950,
    4055             :    -5950, -5950, -5950, -5950, -1798, -5950, -5950, -5950, -5950,   108,
    4056             :     -246, -5950, -5950, -5950, -5950, -5950, -5950, -5950,    13, -5950,
    4057             :     1271,   583, -5950, -5950,  -556, -5950, -5950, -5950, -5950, -5950,
    4058             :    -5950, -1108, -5253, -1238, -1212, -5950, -3488, -5950, -5950, -5950,
    4059             :     -211, -5950, -5950, -5950, -5950, -5950,  -887, -5950,  1372, -4180,
    4060             :    -5950, -5950,   624, -5950, -5950, -5950, -5950, -5950,  -869,  -146,
    4061             :     3398, -5950,  -411, -5950, -5950, -5950,  -147, -5950, -5950, -5950,
    4062             :    -5950, -5950,  -522, -1270,  5242,  4596, -1126, 16399,  -842,  -557,
    4063             :    -5950, -5950, -5950, -2783, -5950, -5950, -4283, -5950,  5233,  2363,
    4064             :     1642,    16, -5950,   -12,   103,  4028, -5950,  1242, -1173, -3155,
    4065             :      587,  -370, -5950, -5950, -5950,   586, -5950, -1961, -5950, -5950,
    4066             :    -5950, -5950, -4165,    20, -5950, -4438, -5258, -4669, -4210, -1071,
    4067             :    -5950, -4508, -5233, -4143, -5950,  2189, -5950, -5950,  -553,  -192,
    4068             :     3366, -5950, -1495,  2542, -1415, -5950, -2519,   647,  1728,  3373,
    4069             :    -3300,  -113,  3369, -3043, -5950,  -691,  1312, -5950,  -235, -3844,
    4070             :    -5950, -5950, -5950, -2804,  -498, -5950, -5950,  1582, -1110, -5950,
    4071             :    -5950, -5950, -5950,  -643,  3374,  -209, -5950, -5950,  4569, -5950,
    4072             :    -5054, -5950,  4540, -5950, -5950, -5950, -5950, -5950, -5950, -5950,
    4073             :    -5950, -5950, -1503,  1481, -5950,  -792, -5950, -5950,  2296,   861,
    4074             :    -5950, -5950, -5950, -5950,  1574,  -376, -5950, -5950, -5950, -5950,
    4075             :    -5950, -5950, -5950,  -849, -1091, -5950, -5950, -5687, -5950, -5950,
    4076             :    -5950, -5950, -5950,  2520,  -961,  -759,  4445,  -210,    27, -5466,
    4077             :    -5950, -5950, -1161, -5950,  3780, -5950, -5950, -5950, -5950, -5950,
    4078             :      646,   651, -5950, -5950, -5950, -5950, -4496, -5950, -5950, -5128,
    4079             :    -5950, -5950,  2284, -5950, -5950,  1447,     5,  3489, -5950, -5950,
    4080             :    -5950,    -9, -5950, -5950, -1023,  2637, -5950, -2394, -5950,  -582,
    4081             :    -5950, -5950, -1915,    31, -4426, -5950,    60, -5950, -5950, -5123,
    4082             :    -1010,   441, -5950, -5950, -4145, -5950, -5950,  -745, -5950,    61,
    4083             :    -5950, -5950, -5950, -5950, -5110, -5950,    69, -5665,  1016, -3383,
    4084             :    -5950,    15, -5950,  -310, -5950, -5950,  -312, -5950, -5950, -5950,
    4085             :    -4166,    33,   122, -5950, -5950,    82,   382,   -46,   -30,   -26,
    4086             :       21,   188,  3897, -5950, -5950, -5950, -5088,  3944, -5950,     9,
    4087             :     -863,  5284,  5286, -5950,  -924,  -144,   600,  1835,  -680, -2638,
    4088             :     3849,  3864, -5950,  1821,  2641, -2461, -2459, -5950,  -913,  -720,
    4089             :     -523, -5950, -5950, -5950, -5950, -1502,  -669, -2641, -5950,  3865,
    4090             :    -5950, -5950, -5950, -2366, -3421, -3251,  1860, -3335, -3172, -5950,
    4091             :     1100,  1081,  -875,    32,    43, -1485,  -802,  1890, -5950, -5950,
    4092             :     1867,  -245, -5950, -5950,  -242, -3332,  1038, -5950, -4621, -2848,
    4093             :     1873, -1025,  -699, -5950,  -843, -5950,  -496,  1880, -5950, -4102,
    4094             :    -1057, -5950, -3618, 10883,  3921,  -846, -5950, -5950,  -800,  8724,
    4095             :    -5950, -5950, -5950, 10620, 10665, -5950, -5950, 10916, 12045, -5950,
    4096             :     -528, 12518,  7144,  -801, -1950,   401, 13586, 18285, -1965,  2743,
    4097             :      365, -5950, -2991, -1549, -5950, -5950, -5950,  -208,  1196,   804,
    4098             :    -5950, -5950, -4684, -4485, -5950,  2771, -1894, -5950,  -495,  1953,
    4099             :     -492, -5950, -5950, -5950, -3022, -5633, -3190,  2778, -5950, -5950,
    4100             :    -5950,  -199, -5950, 18053, -3284, -5950,  -785, -1032, -1609,  3285,
    4101             :    -3110, -1924, -5950, -5950, -5950, -3138, -5950, -5950, -5950,  -717,
    4102             :     1979, -5950, -5950,  2108, -5950, -5950, -5950,  -982,  2344,  -737,
    4103             :    -1196,  1984, -4533, -5950,  -431, -4545, -5058, -5950, -5574, -5218,
    4104             :    -1897, -1034, -3042, -5949, -1935,  1997, -3135, -5950, -1948,  2077,
    4105             :     1286, -5950,  1217, -5950,  4466,  -796,  2786,  -804, 16099,  -689,
    4106             :    10414, -1299, -5950,  1178, -4921,  6287,  6555,    36,  -119,  6314,
    4107             :     -608,  2703,  2820, -5950, -5950,    -6,  8160,  -662,  -876, -5950,
    4108             :     4723, 14731, 15031, -3735, -5950
    4109             : };
    4110             : 
    4111             : /* YYDEFGOTO[NTERM-NUM].  */
    4112             : static const yytype_int16 yydefgoto[] =
    4113             : {
    4114             :        0,    57,    58,    59,    60,  1111,  1116,  1915,  1934,    61,
    4115             :       62,  1635,  3073,  2926,  3902,  3903,    63,    64,  1631,    65,
    4116             :       66,    67,    68,  1545,    69,  1887,  3087,    70,  2758,   853,
    4117             :      854,   855,  2623,  2624,  3018,  2625,  2613,  1397,  1833,  1567,
    4118             :      827,   828,  1527,  1568,    72,    73,  1391,  2604,    74,    75,
    4119             :       76,  1598,  1694,  1599,  1600,  1539,  5048,  5897,  3688,  2881,
    4120             :     3950,  3689,  3690,  4380,  4381,  3768,  4409,  4471,  5911,  5912,
    4121             :       77,  1710,  1711,    78,    79,  3055,  3868,  4524,  5441,  5442,
    4122             :     5709,   672,  5071,  5072,  5696,  5697,  5926,  6098,  6099,  3088,
    4123             :      703,  3945,  4609,  3893,  5143,  3894,  5144,  3895,  5145,  4938,
    4124             :     4939,  4369,  4370,  3879,  4556,  4557,  2091,  5084,  6239,  4558,
    4125             :     3896,  5104,  5744,  3897,  2847,  2773,  2774,  5454,  5371,  3122,
    4126             :     2006,  5369,  6222,  2004,  5644,  5723,  4923,  4924,  4445,  5949,
    4127             :     5950,  5951,  6245,  5106,  5149,  5150,  6135,  6136,  3948,  4615,
    4128             :     5156,  5501,  5721,  3646,    81,  3921,  3922,    82,   766,  1909,
    4129             :     4049,   767,  3125,   704,   768,  3089,    87,  3115,  5942,  3116,
    4130             :     1663,  2940,  4537,  4025,    88,  1139,  4332,  5526,  5804,  5805,
    4131             :      757,    89,  1895,    90,    91,  3068,  3886,    92,  2791,  3593,
    4132             :       93,    94,  3612,  3613,  3614,    95,  4566,  5462,  1601,  3677,
    4133             :     3678,  3679,  3680,  4401,    96,  1890,  3096,  3097,    97,    98,
    4134             :       99,  3227,  3228,   100,  3004,   101,   102,   103,   104,  4439,
    4135             :     5005,  5120,  3719,  3909,  4582,  5118,   105,  3872,  3090,  3143,
    4136             :     3983,  3984,  5524,  5796,  5797,  5798,  6000,  6280,  5800,  6002,
    4137             :     6157,  6004,  5095,  6432,  6433,  5781,  4321,  4901,   107,  5096,
    4138             :     5097,  5955,   108,  2789,   109,   110,  1864,  3061,  3062,  4538,
    4139             :     3132,  3958,  3959,  4595,  4596,   111,  3808,   112,  4981,  4982,
    4140             :      705,  5963,  5903,   113,   114,  4985,  4986,   115,   116,   117,
    4141             :      118,   119,   758,  1073,  1074,   760,  1194,  1195,  3554,  1156,
    4142             :      120,  2633,   121,  3848,   122,  1269,  5209,   123,   792,  1210,
    4143             :     1211,  3091,   125,   802,  3246,   804,  3211,  3212,  2022,  4029,
    4144             :     4030,  4683,   126,   127,  4033,  4034,  4690,  3224,   128,  1532,
    4145             :     2768,  2769,  4892,  3092,   706,  3639,  5626,  5365,  5627,  6146,
    4146             :     6345,  5366,  3498,  4277,   130,   707,  1573,  2830,  1162,  1163,
    4147             :     3136,  3963,  2738,  2739,  1733,  4636,  2741,  3965,  2742,  1506,
    4148             :     2743,  1149,  1150,  3971,  3972,  3973,  3974,  4632,  4642,  4643,
    4149             :     5518,  5789,  4639,  1883,  5512,  5513,   131,  1570,  2827,   132,
    4150             :      133,   134,  1614,   997,  1172,  1173,   135,   719,   720,   136,
    4151             :     5714,   137,  1152,   138,  5522,   139,   140,  1254,  1255,   819,
    4152             :      141,   142,  2851,  4383,   143,  1571,   144,   145,  3713,  3714,
    4153             :     4997,   146,   147,   148,  2912,  2913,   149,   150,   151,   152,
    4154             :      153,  6270,  6348,  6349,  6350,  4650,  6151,   154,  1242,   155,
    4155             :      156,   157,   158,   196,  1038,  1039,  1040,   950,  3093,  5503,
    4156             :      160,   161,  1528,  1529,  1530,  1531,  2763,   162,   163,   164,
    4157             :     3993,  3994,   165,   166,   167,   168,  1867,   169,   170,  5687,
    4158             :      171,   172,  1837,   173,   174,  1047,  1048,  1049,  1050,  1835,
    4159             :     3442,   666,   872,  1422,  1428,  1471,  1472,  1473,   176,   770,
    4160             :      177,  1245,  1078,   771,  1203,   179,   772,  2720,  3528,  4292,
    4161             :     4293,  4294,  4297,  5329,  4868,  5322,  5863,  5864,  5865,   773,
    4162             :     3524,   182,  2029,  3233,  3236,  3520,   774,  3534,  3535,  3536,
    4163             :     4301,   775,  5630,  5631,  5632,  5633,  5877,  6210,  6211,  6214,
    4164             :     6318,   776,   794,  1142,  3147,   777,  1356,   188,   189,   190,
    4165             :      930,   875,   876,  3447,  5584,  5836,   192,  2597,  3425,   811,
    4166             :     1477,   918,   919,   920,   939,  3028,  2686,  2687,  2711,  2712,
    4167             :     1486,  1487,  2699,  2703,  2704,  3511,  3504,  2692,  4271,  5609,
    4168             :     5610,  5611,  5612,  5613,  5614,  4857,  2707,  2708,  1489,  1490,
    4169             :     1491,  2716,   193,  2676,  3477,  3478,  3479,  4247,  4248,  6197,
    4170             :     4262,  4258,  4842,  5305,  3480,   864,  1240,  1498,  4850,  6199,
    4171             :     3481,  5294,  5295,  5589,  4267,  3490,  4288,  3933,  3934,  3935,
    4172             :     3482,  5846,  5847,  6194,  6195,  5591,  5592,  3483,  5838,  6368,
    4173             :     6369,  6408,  6445,  2744,  1451,   903,  1357,   904,  1464,  1358,
    4174             :     1438,   906,  1359,  1360,  1361,   909,  1362,  1363,  1364,   912,
    4175             :     1430,  1365,  1366,  1447,  1460,  1461,  1367,  1423,  5593,  1369,
    4176             :     1370,  1371,  3485,  1372,  4786,  5266,  5252,  3347,  3348,  2620,
    4177             :     5574,  4782,  4160,  4776,  2590,  2594,  5317,  5616,  5617,  3418,
    4178             :     4209,  4813,  5283,  5832,  6031,  6032,  6178,  1373,  1374,  1375,
    4179             :     3410,  2584,  1000,  1376,  4540,  2586,  3338,  3316,  1736,  3317,
    4180             :     2032,  2054,  3265,  3281,  3282,  3386,  3318,  3326,  3331,  3339,
    4181             :     3372,  1377,  3267,  3268,  4071,  2056,  1378,  1044,  1739,  1045,
    4182             :     1466,  3367,  5232,  5539,  5540,  5817,  5818,  5550,  5819,  5551,
    4183             :     5541,  4082,  4083,  6020,  3292,  3387,  4086,  3300,  3301,  4104,
    4184             :     4093,  3293,  1379,  4095,  1387,  1388,  1381,  2023,   865,  5301,
    4185             :     1198,  1820,   808,  1382,  1383,  1384,  1385,  1607,   971,  1165,
    4186             :     1166,   921,   923,   924,  2680,   662,   654,   973,  3681,  2587,
    4187             :      663,   656,   657,  1825,  2588
    4188             : };
    4189             : 
    4190             : /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
    4191             :    positive, shift that token.  If negative, reduce the rule whose
    4192             :    number is the opposite.  If YYTABLE_NINF, syntax error.  */
    4193             : static const yytype_int16 yytable[] =
    4194             : {
    4195             :      653,    71,   998,  1051,    80,   175,    83,    84,    85,  1735,
    4196             :      929,    86,   999,   106,   963,   184,   124,   805,  1492,   807,
    4197             :      129,   191,  1004,   813,   831,  1009,   769,   159,   821,   829,
    4198             :      833,   178,   836,   185,  1832,   829,   829,  1662,   866,  1392,
    4199             :      869,  1949,   191,  1105,  1380,   940,  2953,   925,   925,   925,
    4200             :     2846,  1443,  2875,  3645,   867,  1715,  1145,  1667,   796,  2845,
    4201             :      180,   181,  1143,  1826,   796,  1419,  1231,  1232,  1233,   183,
    4202             :     1197,  2003,  1237,  1478,  1463,  1480,  3521,  2831,  1727,  2051,
    4203             :     3522,  2858,   186,  3248,   951,  1434,  1435,   863,  1424,  2043,
    4204             :     2740,  1406,  4051,  1892,  3975,  1442,  4219,  1007,  4221,  1449,
    4205             :     1237,  4016,  4286,  1051,  3110,  1204,  2035,  4446,  3923,  3892,
    4206             :     2037,  1029,  1511,  2038,  2039,  1865,  4594,  4620,  3239,  1870,
    4207             :     3323,  3022,  3914,  3303,  1874,  4607,   803,  4338,  3264,  1418,
    4208             :      660,  4645,  4859,  1178,  1884,  3299,  4396,   711,  4398,   832,
    4209             :     2914,  2914,  3805,  4542,  2914,  1072,  4261,  1191,  1904,  4925,
    4210             :     4300,  5298,  4874,  4894,  2983,  2984,  1051,  2740,  4367,  3356,
    4211             :     4372,   942,  2822,  2672,  3773,   943,   934,  1821,  3129,  3287,
    4212             :     3291,  3294,  3295,   232,  5549,  3304,  3177,  3306,  3307,  1938,
    4213             :     5142,  1606,  1205,  5152,  1145,  5163,  1176,  1602,  2979,  1180,
    4214             :     1399,   653,   954,   954,  5505,  5103,   954,  1188,  5649,  5498,
    4215             :      965,  5624,   866,   826,  5237,  1001,  5238,  5727,   965,  1051,
    4216             :      860,   965,  1624,  4275,   866,  3011,   954,  1641,  1877,   866,
    4217             :     3547,  3549,  2822,   954,  4244,   866,  4965,  1661,  1574,  5134,
    4218             :     5310,  3428,  5312,  5466,  1901,  3430,  1693,  5151,   878,  2822,
    4219             :     3440,  3513,  5766,  4306,  4188,  3516,  1720,  5641,  4088,   852,
    4220             :     5779,  1834,  4191,  4604,  3851,  5494,  3854,  3855,  5367,  1485,
    4221             :     5724,  3859,  3860,  3861, -2586,  3863,  3864,  3865,  1022,  5977,
    4222             :     1488,  1051,  1569,   778, -2628,  2802,  3911, -2654, -2002, -2473,
    4223             :     4299,  5497,  4090, -2697,  5965,  1900,  5020,  3492, -2473, -2473,
    4224             :     5257, -2474,  3244,   670,  5689,  5690,  6012,  3882, -1994, -2438,
    4225             :    -2474, -2474,  4177,  1931,  1931,  5679, -2885,  1931,  4259, -1961,
    4226             :     4264,  4265,  6016,  1569, -1974, -2885, -2885,  1418,  1569, -2506,
    4227             :     1541, -2002,  4101,  2859,  4124,  3365,  2631, -1999,  2990,  4630,
    4228             :      778,  6161, -2590, -2019, -1989,  5113,  6163,   949,  3107,  5902,
    4229             :      717,  3684,  6314,   778,  1263,  2996,   717,  6013,  1212,  2112,
    4230             :     4053,  1857,   717,  1931, -2437,  1431,  1432,   717,  1862,  4559,
    4231             :      717,  1216,  1408,  3832,  2760,   935,  1441, -1933,  5717,  2849,
    4232             :     4687,   651,  1931,  2993,  1603,  2781,  4339,   778,  5945,  5811,
    4233             :      778,  2637,   187,  2610,  4640,  1603,   717,  4334,  1145,  1941,
    4234             :     2677,   778,   870,  5715,  6171,  1945,  2914,  3053,  1034,  6205,
    4235             :     3685,  2675,  2112,   187,  -150,  1956,  4124,  1500,   717,  1959,
    4236             :     -150,  3365,  3883,  1962,  2639,  1964,  5888,  1984,  5211,  5212,
    4237             :     5213,  1972,  5215,  5216,  5217,  5218,  5219,  1978,   937,  3071,
    4238             :     1981,  5114,  4978,   936,  2637,  1542,  1826,  6443,   928,  2970,
    4239             :     3363, -2434,   784,  3587,  5164,  1727,  6168,  5093,  1879,  3340,
    4240             :      668,  2683,   784,  1931,  1227,   784,  5640,  1931,   834,  1077,
    4241             :     1396,   784,  5254,  5854,  6272,  4867,   785,  2639,   778,  5459,
    4242             :     1235,  3076,  4043,  1481,  1541,  3463,   785,  5572,  4351,   785,
    4243             :     1034,  3495,  6141,  5656,  2679,   785,  3767,   999,  6018,  6237,
    4244             :     5364,  4469,   838,  1434,  1435,  1931,  1554,   784,  3240,  5998,
    4245             :     2611,  4124,  3225,  1035,  6129,  5370,  2779,   194,  4290,  5082,
    4246             :      784,  1018,  3445,  2907,  5979,  3686,  5794,  6479, -2651,  4688,
    4247             :     2849,   785,  4065,  5115,  1097,  1442,  1098,  2648,   937,  5946,
    4248             :     2931,  6491,  2850,  4530,   785,  1449,  5083,   999,  3446,   717,
    4249             :     4591,  5795,  1019,  4470,  5767,  3108,  6315,  4291,  2782,  5999,
    4250             :     3197,  1201,  6238,   195,  5899,   194,  4352,  6019,  4044,  4091,
    4251             :     5573,  1483,  1236,   194,  4979,  1099,  1957,  4178,  5375,  1036,
    4252             :     2105,  1109,  3496,   941, -2264,  3803,  2849,  3407,  5629,  5255,
    4253             :    -2283, -2264,  6272,  1123,  3408,  1035,  1821, -2283,  2977,  1542,
    4254             :     1947,  5460,  1826,  1947,  2849,  2065,  3077,  1457,   839,  4102,
    4255             :     2849,   195,   891,  3226,  2632,  2614,  1145,  3341,  5947,   195,
    4256             :     2626,  2626,  2048,  6444,  1932,  1932,  5755,  5094,  1932,  2106,
    4257             :      712,  1132,  1863,  2849,  3884,  1267,  1987,  2024,  1501,  3364,
    4258             :     2849,  3222,  1409,  1037,  3072,  4465,  2849,  2612,  2034,  2849,
    4259             :     2112,  3222,  1228,  6262,  5812,  2783,   718,  6373,  2653,  2600,
    4260             :     4339,  1036,  3026,  3222,  4179,  2044,  6075,  6360,  5937,  2876,
    4261             :     1054,  4689,  2860,  2674,  1932,  1042,   866,  3054,   954,  1043,
    4262             :      954,  4542,  2637,   954,  4335,  4980,  2861,   938,  2862,  -442,
    4263             :     1001,  2948,  6112,  1932,  2951,  1112,  1082,   954,  1405,  6072,
    4264             :     5603,  4560,   191,   954,  3687,  6407,  3020,  3021,  1543,  5000,
    4265             :     4069,  6316,  5116,  1613,  3064,  2639,  1236,  6272,  4641,  5718,
    4266             :     1410,  2958,  1236,  3366,  2726,  1037,  1863,   653,  3885,   929,
    4267             :     1274,  6014,  1260,  4124,  6140,  3109,   965,  4125,  4126,  4127,
    4268             :     1001,  1079,  1080,   965,  5333,  4631,   965,  3010,  2650,  1145,
    4269             :     1081,  3833,  2920,  4180,  2863,  2608,  2997,  1145,  1145,   871,
    4270             :     1266,  2809,   954,  1083,  1431,  1432,  6015,  6335,  6317,  2991,
    4271             :     1208,  2816,  2807,  4302,  1932,  3019,  1544,  5376,  1932,  5112,
    4272             :     1533,  2028,  6017,  5567,  1429,   671,  2998,  5117,  5385,  3260,
    4273             :     1933,  1940,  3588,  1863,  1944,   191,  6334,  6095, -2651,  1444,
    4274             :     1445,  6162,  1441,  4081,  2971,  2972,  6164,  3457,  1493,  4195,
    4275             :     2937,  4092,  5159, -2586,  2994,   866,  1932,  5972,  1446, -2473,
    4276             :     5160,  3027,  2717, -2628,  1256,  1209, -2654,  1214,  2893,  1218,
    4277             :     5007, -2474, -2697,  2718,  2892,  1222,  5011,  1042, -1994, -2438,
    4278             :     1955,  1043,  1444,  1445,  1386,  1386, -2885,   866,   829,  1433,
    4279             :     6386,  4103,   829,  4139,  1437,  3195,   790,   791,  2938,  1977,
    4280             :     3179,  1448,  2941,  2942,  1239,  1848,   866, -1999, -2506,   790,
    4281             :      791,   866,  2780,  2066, -1989,   999, -2651,  1386,  2583,  1844,
    4282             :     2108, -2590,  5975,  1849,  4930,  1850,  4932,  6254, -2651,  2826,
    4283             :     6223,  6224,  2598,  3205, -2437,  1534,  6264,  3433,  6421,  4542,
    4284             :     6437,  1863,  1633,   790,   791,  3220,  1604,  1605,  1726,  2877,
    4285             :      942,  2678,  4592,  4261,   943,  6490,  6283,  1604,  1605,  1042,
    4286             :     1239,  2655,  2656,  1043,  1386,  1225,  1634,  6496,  2580,  2581,
    4287             :     2582,  2583,  4136,  4137,  4138,  4139,  -150,  -150,   866,   713,
    4288             :     1980,  5536,  2826,    71,  1947,  4129,    80,   175,    83,    84,
    4289             :       85,   866,  1839,    86,  2978,   106,  1042,   184,   124,  2826,
    4290             :     1043,  4585,   129,   191,  4522,  4523,   866,  1526, -2264,   159,
    4291             :     6216,  3409,  3616,   178, -2283,   185,  4460,  4461,  3702,  4735,
    4292             :     4736,  4462,  4682,  5884,  2901,   866,  4740,  1474,  4592,  6228,
    4293             :      954,   954,  1137,  4604,   790,   791,  1947,  3063,  1515,   714,
    4294             :     1497,  4466,   180,   181,  3392,  3081,  4685,  2836,  4503,  4839,
    4295             :     3229,   183,  6337,  4843,  4911,  1548,  3274,  4970,  4682,   717,
    4296             :     4883,  6139,   829,   829,   186,  4134,  4135,  4136,  4137,  4138,
    4297             :     4139,  6133,  4130,  2801,  5344,  5070,  2950,  4308,  6113,  4309,
    4298             :      717,   715,  3694,   716,  4039,  1386,  1386,  1699,  3298,  4041,
    4299             :     5074,  3513,  1896,  5073,  4280,  4721,  3041,  3266,  4226,   653,
    4300             :     5345,   954,  1395,   187,  4798,   965,  1403,  2876,  1001,   965,
    4301             :     2027,   965,  1425,  6277,  6207,  4829,   954,  4831,  4832,  2679,
    4302             :     1931,  1535,  3870,  4517,  2878,  6208,  1516,   961,  3222,  4356,
    4303             :     1700,   717,  6385,  2595,  3979,  1897,   717,  6121,  4573,  1095,
    4304             :      866,   944,  6340,  6341,  5327,  1264,  4695,   954,   954,  2840,
    4305             :     1881,  6291,  1625,  6132,  3413,  2879,  4583,     3,     4,  5754,
    4306             :     5101,  6289,  1159,  1536,  5760,  6325,  2817,  1966,  3275,   866,
    4307             :      866,   866,  5870,   954,  1826,   653,  3486,   653,   653,  1274,
    4308             :     1517,  2880,  4124,  3230,  2690,  4101,  4125,  4126,  4127,  3393,
    4309             :     5824,  5418,  4090,  1724,  3394,  3518,   187,   928,  1537,   717,
    4310             :     4998,  4646,  4925,  2876,  2578,  2579,  2580,  2581,  2582,  2583,
    4311             :     1967,   954,  2899,   954,   954,  5419,  1051,  3717,  4303,  5520,
    4312             :     5128,  5183,  2874,   763,  6454,  6263,  3980,  3607,  3123,  6255,
    4313             :     4424,  6277,  3161,   945,   652,  6292,   826,  1685,  2876,  2876,
    4314             :     3168,  6440,  6375,    15,  4406,  3395,  1386,  3276,  3799,  5872,
    4315             :     1401,    35,  5861,   806,  1453,  5928,  4407,  5930,  3206,  5662,
    4316             :     3734,  5934,  5935,   667,  3217,  3218,  2818,  1626,  2842,  6423,
    4317             :     6041,  1538,  2005,  2606,  2005,  3119,  5873,  5862,   866,   191,
    4318             :      805,    20,  2923,  3800,  4131,  4132,  4133,  4134,  4135,  4136,
    4319             :     4137,  4138,  4139,  4647,  2770,  1518,  6478,  3718,  6149,  2691,
    4320             :     2917,   937,  3120,  2921,  2041,  3414,   866,  3362,  3519,  2876,
    4321             :     2047,  1274,  5031,  3695,  4124,  3261,  6241,  3263,  4125,  4126,
    4322             :     4127,  2843,  4696,  3270,  1386,  3277,  3608,  1701,  3278,  3284,
    4323             :     3285,  4574,  1898,  1454,  4040,  1274,  4791,  6293,  4124,  4042,
    4324             :     3181,  3308, -3012, -3012, -3012,  4425,  6342,  2877,  3735,  5871,
    4325             :     3871,  3328,  3617,  1249,  5958,  6040,  6277,  3343,  2900,   929,
    4326             :     1923,  2759,   941,  5496,   187,  5102,  1386,  3636,  1230,  3204,
    4327             :     5328,  4128,  2956,  3209,  3546,  5490,  5484,  6468,  3216,  5515,
    4328             :     1725,  3219,  5971,  1989,  5974,  1991,  3912,  1993,  3158,  1995,
    4329             :     5986,  1997,  1998,  1999,  4129,  1386,  1386,  1386,  2001,  1386,
    4330             :     3396,  5549,  3170,  3736,   944,  4121,  4122,  1968,  5957,  4539,
    4331             :     4141,  1455,  3231,  5825,  1456,  3176,  2106, -1794,  4926,  6384,
    4332             :     1386,  4108,  2876,  3847,  3469,   952,  5961,  5346,  4450,  5829,
    4333             :     6391,  1932,  3154,  3232,   964,  5969,  3223,  3703,  5973,  1702,
    4334             :     3156,  2844,   964,  2877,  1899,   964,  1250,  3279,  2028,   962,
    4335             :     2596,  4172,  4173,  1627,  3188,  3169,  5549,  5340,  3171,   866,
    4336             :     6209,  1096,  4102,  2635,  3175,  3981,  3737,  3842,   999,  4091,
    4337             :     6422,  1882,  4648,  1523,  2980,  2822,  1524,  1386,  2877,  2877,
    4338             :     3982,  4130,  5358,  1947,  1160,  6007,  6150,   947,    32,  5521,
    4339             :     3314,  5208,  2090,  6294,  6405,  1628,   945,  2684,  2685,  4637,
    4340             :     2689,   943,   943,  3525,   943,  6452,  5420,  3121,  3208,  2999,
    4341             :     5032,  5678,  3214,  3215,  3611,  2772,  3795,  3551,  2876,  1969,
    4342             :       40,  5880,  2878,  1386,  1646,  3835,  4129,  1386,  1386,  3568,
    4343             :     1629,  4426,  2775,  1457,  4224,  5874, -1961,  6469,   866,   866,
    4344             :      866,  2724,  6242,  1386,  5332,  3207,  1647,  4649,   946,  2877,
    4345             :     2953,  5299,  6299,  2879,  6154,  3080,  2764,  1453,  3796,    44,
    4346             :     2776,  1924,  5833,  2770,  3280,  6173,   829,  6460,  2765,  3140,
    4347             :     3012,  1131,  6450,  4427,   717,  1925,  5802,  3259,  3607,  2880,
    4348             :     3801,  5898,  5938,  2771,  2785,  2885,  2766,  1497,  1704,  1497,
    4349             :     3738,   778,  3141,  3797,  1705,  2786,  5830,  6183,  1648, -1794,
    4350             :     3486,  2813,  4251,    48,  2693,  3618,   829,   764,  4428,   954,
    4351             :     4983, -1795,  5463,  4130,  4463,  3802,  3429,    49,  2878, -1961,
    4352             :     2874,  3569,   866,  2848,  1914,  3638,  5831,  6243,  2618,  1251,
    4353             :     5769,   866,  1926,  5834,   954,  1132,  1454,  4130,  6123,  5302,
    4354             :      187,    50,  4120,  5173,  5306,  5770,   810,  5308,  1947,  2879,
    4355             :     1458,  3923,  2694,  2878,  2878,  3000,  6244,  3620,  4543,  4281,
    4356             :      765,  1001,  2877,   866,  4862,  3644,   829,  6330,  1826,  2916,
    4357             :     2916,  2619,  1252,  2916,  1253,  2880,  3704,  3608,  3460,  6260,
    4358             :     6261,  4252,  1526,   829,  2879,  2879,   866,  1526, -1106,   866,
    4359             :     3964,  1649,  4464,  4131,  4132,  4133,  4134,  4135,  4136,  4137,
    4360             :     4138,  4139,  -717,  1706,  4542,  4472,  4546,  3526,  2053,  6063,
    4361             :     2880,  2880,  5768,   954,  1455,  4253,  2874,  1456,  1947,  5759,
    4362             :     2695,  3739,  5087,  1133,  2878,  3607,  1863,  6316,  2062,  3740,
    4363             :     4254,   866,  3741,  2777,  3197,  6174,  2111,  1927,  3552,  2112,
    4364             :     5939,  3553,  4984,   954,   954,   954,   954,   866,  5088,  1650,
    4365             :      947,  2874,  2874,  4255,  1651,  2879,  3461,  3621,  2877,  1652,
    4366             :     3142,   866,  2767,  1526,  5803,  5139,  2740,  1526,  4549,  2696,
    4367             :     2740,  2637,  1386,  1386,  1386,  2952,  3119,  2787, -3012,    40,
    4368             :     2974,  2880,  4256,  5064,  2772,   816,  5139,  2103,  5068,  4458,
    4369             :      683,  1274,  5140, -1795,  4124,  6074,  3167,  3566,  4125,  4126,
    4370             :     4127,  5133,  3157,  3120,  2639,   999,   999,  6253,  1475,  1409,
    4371             :     1928,  1654,  5303,  5140,  5092, -1961,  4792,  1481,    44,  2788,
    4372             :     6212,  1034,  2874,  3199,  3608,  4131,  4132,  4133,  4134,  4135,
    4373             :     4136,  4137,  4138,  4139,  2697,  1274,  1457,  2878,  4124,  5130,
    4374             :     3742,  4282,  4125,  4126,  4127,  6331,  4863,  1821,  5771, -3012,
    4375             :    -3012, -3012,  4134,  4135,  4136,  4137,  4138,  4139,  6363,  1656,
    4376             :     5272,  3609,    48,    40,   685,  3611,  6189,  6364,  2879,  3819,
    4377             :     3150,   866,  2602,  4252,  -630,  1705,    49,  4174,  1457,  5449,
    4378             :     6387,  4257,   866,  1657,  4552,  4468,  3085,  1410,   982,  1707,
    4379             :      954,   954,  5296,  1134,  2880,   983,   984,   985,  5089,  1260,
    4380             :       50,  6213,    44,  3610,  1659,  1483,   954,  4253,  2943,   941,
    4381             :      941,  5085,   941,  1929,  1476,  2112,  3439,  3448,  5661,  3527,
    4382             :     2693,  3742,  4845, -3012,   866,  2916,  1035,  2876, -3012,  6333,
    4383             :     1135,  1708,  4553,  2878,   999,  2874,  1615,  4539,  4968,  1443,
    4384             :      954,   954,   954,   954,  6309,  4255,    48,  2603,  4554,   866,
    4385             :     6466,   952,  2886,  1458,   817,  1660,   866,  1484,   778,  3130,
    4386             :      964,  3517,  5693,   818,  2879,  4996,  1709,   964,  2694,  6310,
    4387             :      964,  3086,  6480,  3486,   653,  5304,  3486,   653,  1459, -3012,
    4388             :     2639,  5978,  6220,  6190,  3820,   837,  5086,   965,   965,  5964,
    4389             :     2880,  5341,  1036,  3200,  1136,  3197,  1137,  5141,  1001,  1001,
    4390             :     1138,  3662,   965,    56,  3197,   965,  4129,  1591,  5478,  5985,
    4391             :     3753,  6383,  3611,  1616,  3567,  4751,  4969,  4752,  6127,  1664,
    4392             :      954,   954,  5688,  6236,  3486, -1961,  3201,   954,  2776,   866,
    4393             :      784,  2874,  3486, -1961,   664,  1433, -1961,  1462,  2644, -1961,
    4394             :     3202,  1882,  3489,  5773,  2876,  2876,  2005,   696,  3691,   697,
    4395             :     4129,  5774,  4555,   954,   785,   965,  1037,   191,  3213,   965,
    4396             :      965,  1665,   866,   866,  2944,   954,  5342,  3663,  4942,  2945,
    4397             :      664,  3290,   866,  4257,  3715,  3664,   701,  6084,  3203,   866,
    4398             :     3245,  4896,   866,  3130,  3997,  2696,   805,   665,  3726,   805,
    4399             :     3250,  5801,  4302,  4130,  1386,  2854,  1386,  2855,  1082,  3633,
    4400             :     5534,  1386,  1386,  4943,   191,  6344,  5599,  4897,  1386,  1386,
    4401             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,
    4402             :     1386,  3234,  4686,   933,  1386,   861,  1386,  1001,  1386,  1386,
    4403             :     1386,  1386,  1386,  1386, -3012,  2866,  1386,  4130,  1386,  1386,
    4404             :     4698,  3665,  1386,  1079,  1080,  5685,  3836,  3837,  3838,  3798,
    4405             :     2697,  1145,  1081,   873,  6085,  4539,  6191,  1386,  1386,  1386,
    4406             :     3189,  6192,  3190,  2856,  3191,  1083,  3192,  2877,  3193,  5686,
    4407             :     4898,  2867,  3194,  4753,  3715,  1386,  3644,  1666,  2740,  2924,
    4408             :     1439,  1440,  4374,  4350,  2927,  3923,  6131,  2953,  2740,  5465,
    4409             :     4273,  3754,  1980,  4710,  2112,  4860,  6148,  6193,  3249,  3757,
    4410             :     3752,  4944,  3760,  4722,  6130,  4734,  6461,  4168,  4726,  5476,
    4411             :     4747,  4748,  4749,  4750,  3941,   954,  4754,  4755,  4756,  4757,
    4412             :     4758,  4759,  4760,  4761,  4762,  4763,  2637,  3991,  5489,  3729,
    4413             :     6425,  3727,  5635,  3728,  5637,  1643,  5775,  5790,  3779,  4363,
    4414             :     3880, -3012,  5956,  1882,  5445,  4725,  3013,  3804,  4899,  6462,
    4415             :     4730,  4731,  4900,  2578,  2579,  2580,  2581,  2582,  2583,  2639,
    4416             :     3002,  4668,  1207,  2740,  3008,  1124,  3927,  3928,  3929,  3930,
    4417             :     5467,  3932,  4861,  3826,  5931,  3630,  3842,  1644,  5446,  5932,
    4418             :     4802,  4803,  4512,   952,  2877,  2877,  1481,  2962,  3014,   964,
    4419             :     1980,  2914,  1482,   964,  4505,   964,  3960,  4375, -1765,  6448,
    4420             :      948,  6451,  1125,  1502, -1765,  4131,  4132,  4133,  4134,  4135,
    4421             :     4136,  4137,  4138,  4139,  1101,  1248,  1102,  2963,  1512,  5468,
    4422             :     5685,  1124,  4016,  1386,  4467,  3770,  1646,  3771,  4681,   931,
    4423             :     5436,  3775,  5437,  5438,  5439,  5933,  5455,  1630,  5457,  1695,
    4424             :     1126,  3734,  2878,  5989,  5686,  1503,  1670,  6256,  1647,  4131,
    4425             :     4132,  4133,  4134,  4135,  4136,  4137,  4138,  4139,  1125,  1916,
    4426             :     1513,  1918,  1919,  4826,  3898,  6492,  2849,  1980,  1420,  6006,
    4427             :     1633,  4504,   932,  2879,  1483,  4682,  4278,  1386,  2857,  5485,
    4428             :     1504,  1696,   778,  6155,  5968,  1697, -1765,  4926,  1671,  4828,
    4429             :     1127,  4305,  5050,  5734,  1634,  1514,  4586,  4035,  4896,  2880,
    4430             :     1648,  4377,   988,   989,   990,   991,   992,   993,   994,   995,
    4431             :      996,  4913,  4972,  3789,  1636,  5051,  1698,  6156,   187,  3790,
    4432             :     6365,  4926,  2943,  1672,  4897,  6489,  1484,  1902,  5936,  3735,
    4433             :     1470,  4956,  3989,  1712,  1386,   793,  1716,  3995, -1765,  3996,
    4434             :     2874,   793,  6498,  3953,  4421,  6366,  1127,  5735,  6147,  4002,
    4435             :     5736,  1903,  4003,    40,  4004,  4005,  4616,  5737,  4007,  2878,
    4436             :     2878,  4024,  4010,  4251,  4011,   187,  1507,  4013,  5377,  6336,
    4437             :     4949,  1591,  1974,  1213,  1215,  1217,  5383,  3915,  1219,  1220,
    4438             :     1221, -1718,  5542,  2866,  3736,  5738,  4422,  4898,  1226,  1633,
    4439             :     2879,  2879,    44,  1649, -1718,  3082,  1975,  3024,  3025,  3289,
    4440             :    -1718,  6218,  3015, -2457,  1508,  5543,  6346,  -173,  1509,  5033,
    4441             :     5685,   949,  5544,  1634,  3016,  3112,  2880,  2880,  4158,  2867,
    4442             :     4312,  4423,   683,  3342,  4165,  1433,  5545,  2673,  3791,  4376,
    4443             :     4377,  4052,  -150,  5034,  5686,  1042,    48, -2438,  -173,  1043,
    4444             :     3899,  1646,  4252,  1510,  3017,  1274,  5739,  3737,  4124, -1718,
    4445             :       49,  1650,  4125,  4126,  4127,  4220,  1651,  2874,  2874,  5740,
    4446             :     4378,  1652,  5245,  1647,  5246,  4899,  4882,  4926,  4023,  4900,
    4447             :     5273,  1433,  5741,  2673,    50,   233,  4253,  2952,  2944,  1444,
    4448             :     1445,   669, -1718,  2945,  1444,  1445,  6062,  4123,  6169,   761,
    4449             :      763,  4254,  4653,    56,   957,  6170,   685,  4654,  1446,  4151,
    4450             :        3,     4,  2106,  1448,  4066,  5890,  5901,   835,   959,  4067,
    4451             :       15,  5905,  5906,  1654,  4255,  1648,  1673,   980,    40,  1386,
    4452             :     1386,  1386,  1386,  1386,  1386,  1386,  1386,  1386,  1633,  1386,
    4453             :     1433,  5081,  1462,  5167, -1718,  4175,  1623,  3600,  4654,   866,
    4454             :     1386,  1640,  1386,  4256, -1718,   981,  5296,   999,    20,   866,
    4455             :     1042,  1033,  1634,  3597,  1043,  3601,  3602,    44, -2430,  1827,
    4456             :     5546,  1656,  1828,  1042,  6453,  1230,  4150,  1043,  4152,  4153,
    4457             :     2052,  3738,    56,  4875,  3377,  3378,  3379,  3380,   866,  4206,
    4458             :     1386,  1092,  1674,   954,  1386,  1657,  2626,  1386, -2431,  1386,
    4459             :     3441,  4473,  1386,  1042,  1024,  1230,  1386,  1043,  1433,  -468,
    4460             :     2673,    48,  5695,  4231,  4232,  1041,  1659,  4340,  1649,  1986,
    4461             :     2036,  1085,  1828,  1828,  3792,    49,  3371,  2634,  3900,  3488,
    4462             :     1828, -1718,  1087,  4222,  1675,   866,   866,  1474,  1106,  3594,
    4463             :     2647,  1676,  -629,  2648, -1718,  1677,  1386,  1120,  2681,    50,
    4464             :    -1718,  1828,  4257,  4382,  3185,  1386,  1386,  2648,  1444,  1445,
    4465             :     3196,  3486,  4307,  3197,  1128,  3486,  3793,  1660,    56,   866,
    4466             :     4129,  3198,  3237,  3629,  3197,  3238,  1650,  3532,  1130,  3537,
    4467             :     3901,  1651,  5200,  1129,  1474,  1474,  1652,  3514,  3515,   696,
    4468             :     6320,   697, -1789, -1789,  5742,  6323,  6324,  5743,  5207, -1718,
    4469             :     5990,  3794,  2952, -1718,  1147,  3444,  4193,  1826,  1980, -1793,
    4470             :    -1793,  4268,  3739,  3570,  2674,  3573, -1792, -1792,  1878,   805,
    4471             :     3740,   805,  4955,  3741,  1151,  3449,  3538,  5547,  2648,  2648,
    4472             :     5324,  1579, -1718,  1145,  -468,  1386,  1158,  1580,  1654,  5548,
    4473             :     3627,  4602,  3709,  3628,  4251,  3710,   653,  5892,  5893,   965,
    4474             :     1001,   965,   965,  5230,  1167,   954,  3876,  4130,   866,  3877,
    4475             :     5235,  5236,  3529,  5135,  4015,    32,  3733,  3197,  6033,  6034,
    4476             :     3486,  4323,  1042,  1174,  4064,  1467,  1043,  2648,  4073,   829,
    4477             :     4079,  2648,  1582,  2648, -1718,  6464,  1656,    40,  6467,  4343,
    4478             :     3145,  2848,  3146,  4945, -1718,  4952,  4080,    40,  4912,  2648,
    4479             :     5886,  4929,    40,  6179,  6180,  3650,   866,  3615,  1185,   664,
    4480             :     1657,  1988,  3661,  4084,  1990,  4085,  1992,  1168,  1994,  4099,
    4481             :     1996,   866,  3835,  4252,  2000,  4110,    44,  1678,  2648,  4143,
    4482             :     4539,  1659,  2648,  6308,   926,   927,    44,  4697,  4926,  1583,
    4483             :     1192,    44,  4316,   866,   778,  4157,  1584,  3823,  2648,  1202,
    4484             :     1585,  6419,  4386,  1238,  4388,  2740,  4589,  4253,  4162,  4229,
    4485             :     3349,  4163,  2648,  3352,   866,  1679,  4561,  1229,  1234,  1680,
    4486             :       48,  4971,  4254,  4399,  6215,  4416,  4400,   829,  4404,  1586,
    4487             :       48,  4405,  1660,  4432,    49,    48,  4433,  1241,  4501,  4625,
    4488             :     1145,  4433,  4626,  1230,    49,  4255,  4327,  1244,  2111,    49,
    4489             :      954,  2112,  1246,   954,  1681, -3012, -3012, -3012,    50,  4628,
    4490             :     1247,  1682,  4629,  3724,  4659,  1587,  4772,  4660,    50,  4773,
    4491             :     4313,  4314,  4783,    50,  4256,  4784,  4211,    56,  4212,   866,
    4492             :      866,  4794,  4870,  2637,  2648,  4871,  4876,    56,  1257,  4877,
    4493             :     2638,  5860,    56, -1718,  3806,  6137,  3809,  3811,  4531,  1258,
    4494             :     1260,  4441,  5782,  1259,  4885,  4881,  4447,  5136,  3553,  3769,
    4495             :     3197,  3063,  6268,    29,  5202,  5242,  2639,  2028,  2648,  4131,
    4496             :     4132,  4133,  4134,  4135,  4136,  4137,  4138,  4139,  1386,  1386,
    4497             :     1386,  1262,  1261,  3371,  1386,  3373,  5279,  3374,  5335,  2648,
    4498             :     5361,  3553,   954,  5362,  5491,  1690,  1268,  5492,  4491,  1589,
    4499             :     3484,  1270,  3486,  3486,  4498,   954,  5528,  1404,  1407,  4660,
    4500             :     1590,  1386,  1042,   954,  3375,  1411,  1043,  3476,  4886,  6426,
    4501             :     1591,  1412,  4057,  4257,  4059,  4060,  2848,  3462,  3464,  3465,
    4502             :     5153,   866,  1592,  5564,  1413,  1421,  5565,  3913, -1718,  5146,
    4503             :      805,  5566,  5586,  5596,  2648,  5587,  1980,  5602,  6077,  6078,
    4504             :     4599, -1718,   954,  3924,  4213,  1417,  4214, -1718,  1274,  4872,
    4505             :     1426,  4124,   187,  3806,    40,  4125,  4126,  4127,   952,  5604,
    4506             :     4437,   952,  4599,   954,  1718,  3946,  1427,  1594,  1595,  3376,
    4507             :     5729,   964,   964,  5730,  5749,  2640,  5845,  3197,  5783,  1429,
    4508             :     2641,  5784,  4453,  4613,  3964,  4614,   964,  6482,  4054,   964,
    4509             :     1436,  5843,  5849,    44,  5844,  1980, -1718,  5852,  5868,  1719,
    4510             :     4599,  5869,  5920,  4926,   954,  5921,   954,  5960,   954,  5987,
    4511             :     2605,  1433,  5869,  6024,  5489,  6025,  4163,  6045,  2648,  6049,
    4512             :     6046,  5075,  1980,  5076,  4579,  3377,  3378,  3379,  3380, -1718,
    4513             :     1437,  2643,  3381,  3382,  1450,  1452,  2679,    48,  3383,   964,
    4514             :      999,  2005,  6050,   964,   964,  2648,  6058,  4887,  1467,  6059,
    4515             :     3942,    49, -1131,  4928,  4888,  6083,  4931,  6086,  3238,  4934,
    4516             :     3238,  4889,  6087,  6090,  2740,  3238,  2648,  6091,  1468,  6057,
    4517             :     2648,  1145,  1597,  1145,  1479,    50, -3011,  4562,  1494,  4564,
    4518             :     4661, -1718,  4663,  1495,  4665,  4691,  4593,  1496,  1462,  6092,
    4519             :     2644, -1718,  6093,  1575,  6269,   653,   954,  1577,   965,  4890,
    4520             :      965,   965,  6119,   954,  6185,  6120,  5815,  4599,  5816,  4704,
    4521             :     1386,  1727,  1546,  6200,  6202,  1386,  2648,  2648,  6137,  3365,
    4522             :     6217,  1578,  4891,  3197,  4926,  6232,   929,  6258,  6233,  5558,
    4523             :     6259,  6393,  1618,  6394,  3486,  4778,  1826,  1467,  1499, -1706,
    4524             :     4572,  3486,  4575,   683,  1505,  1572,  3486,  2111,  4274,  3486,
    4525             :     2112,  6307,  5554,  5555,  5857,  1145,  4822,  6343,  4824,  1515,
    4526             :     5869,  4634, -2475,  4129,  1386,  1386,  1386, -1104,  6389,  1386,
    4527             :     5288,  6390,  5290,  2679,   929, -3011,  1613,  1386,  1386,  1386,
    4528             :     1386,  6409,  2637,  4676,  6410,  4744,  2646,  1617,  6417, -3012,
    4529             :     4955,  4871,  1619,  1386,  1274,  3384,  1386,  4124,  1386,  1632,
    4530             :     1630,  4125,  4126,  4127,  1642,  6266,  6420,  3385,  1645,  2648,
    4531             :     1386,  1386,  1669,  6447,  1386,  2639,  6046,   685,  6449,  4771,
    4532             :     6457,  2648,  6495,  6458,  6497,  6410,  1686,  6458,  6499, -3011,
    4533             :     4844,  6410,  4847,  1001,  2719,  1386,  2722,  1386,  1687,  1386,
    4534             :    -1718,  1703, -3011, -1717,  5581,  1713,  5582,  1516, -3011,  4926,
    4535             :     4130,  5359,  4946,  1714, -3011,  1717, -1717,  1722,  1386,  1836,
    4536             :    -3011,  4210, -1717, -3011,  1723,   866,  1838, -3011,  1840,  1845,
    4537             :     4810,  1851,  1856,  1859,  1861,   687,  1866,  1869,  1871,   929,
    4538             :     1863,  4216,  4217,  4218,  1885,  1880,   866,  1886,  4192,  -137,
    4539             :       29,  1889,  1888,  2574,  1891,  4699,  1894, -3011,  1893, -3011,
    4540             :     1905,  1517, -3012, -3012, -3012,  2578,  2579,  2580,  2581,  2582,
    4541             :     2583, -1717,  1912,  1914,  3484,  1917,   653,  5699,  1921,  3488,
    4542             :     4249,   213,  1930,  1935,  4249,  4263,  4249,  4249,  1936,  1937,
    4543             :    -3011,   929,  1939,  1386, -3012,  1474,   935,  1942,  1386, -3012,
    4544             :     4181,  4908,  4182,  1943, -1717,  5180,  1946,  1947,  1954, -1766,
    4545             :      187,  1958,  1960,  1386,  1961, -1766,  1963,  2674,  1965,  1970,
    4546             :     1971,  1973,  1976,  1983,  5700,  1985,  1979,  3488,  1982,  4183,
    4547             :     2002,  4295,  2033,  2040,  4298,  3488,  2049,  3537,  2042,  3691,
    4548             :     2111,  4966, -3011,  2112,  2045,  2050, -3011, -1965, -1972,  5701,
    4549             :    -3012,    40, -3011,  2059,  2057,  5056, -1717,  2058, -1962,  5069,
    4550             :      696,  2060,   697,  2061,   936,    56, -1717,  3715,  5702, -3012,
    4551             :     2063,  2064,  2065, -1131,  5703,  2637,  1518, -1963,  1386,  2067,
    4552             :     2068, -1966, -3012,  5807,  2069,  2070,   700,  3486,  2071,  1878,
    4553             :       44, -1964,  2072,  2073,  3376,  2074,  5704, -1766,  5061,  2075,
    4554             :     5705,  2076,   954,   954,  5821,  2077,  2078,  6424,  2639,  2644,
    4555             :     2079,  2080, -3011,  2082,  2083,  5706,  2084,  2085,  2086,  2087,
    4556             :     2088,  2089,  4131,  4132,  4133,  4134,  4135,  4136,  4137,  4138,
    4557             :     4139,  2092,  2090,  2093,    48,  5842,  2094,  2095,  1386,  2096,
    4558             :     2097,  2098,  1519,  2099,  2589,  4995,  4362,  2593,    49, -1766,
    4559             :     3377,  3378,  3379,  3380,  2595,  2591,  4130,  4184,  2596,   937,
    4560             :     2609,  2605,  2621,  4185,  2629,  2651,  2657,  3366,  2111,  2652,
    4561             :     2659,  2112,    50,  2660,  2663,  2113,  2114,  2115,  2666,  2664,
    4562             :     1520,  4801,  2667,  2668,  1521,  2669,  2670,  2675,    35,  4274,
    4563             :     1482,    56, -1444,  2636, -1444,  1484,  4410,  2713,  2715,  2725,
    4564             :     2682, -3011,  2727,  2637,  2728, -3012,  2729,  2730,  2746,  2747,
    4565             :     2638,  2748,  2749,  2750,  2103, -1717,  2673,  2751,  2752,  1522,
    4566             :      866,  5707,  2753,  2754,  2755,  2756, -3011, -3012, -3011, -3011,
    4567             :     2916,  2762, -3012,  2778,  2784,  2804,  2639,  2808,  2811,  2790,
    4568             :     2812,  2810,  2814,  2815,  2828,  2833,  2832,  2834,  2852,  2853,
    4569             :    -3011,  2868,  2870,  2871,  1523,  2872,  2864,  1524,  2873,  2874,
    4570             :     2882,  2883,  2103,  2111,  2884,  2889,  2112,  5511,  3486,  2887,
    4571             :     2113,  2114,  2115, -3011,  2888, -3011, -3011,  5708,  2898,  2908,
    4572             :     2922,  2894,  2932, -3012,  2895,  2904,  3371,  2905,  2636,  3486,
    4573             :     2918,  2939,  2946,  2949,  2964,  1591,  2975,  2966,  2637,  2919,
    4574             :     2925,  2968,  4202,  2928,  2976,  2638,  2992,  2929,   938,  1525,
    4575             :     3001,  3023, -3012,  2973,  3035,  3037,  3038,  2934,  3039,  4035,
    4576             :     4186,  2935,  2947,  3486,  2578,  2579,  2580,  2581,  2582,  2583,
    4577             :     2954,  2639,  4187,  2955,  3030,  2960,  2961,  3040,  2967,  1386,
    4578             :     2969,  2981,  2644,  2982,  2995,  1386,  3044,  3484,  3006,  3045,
    4579             :     3484,  3046,  3052,  3048,  3051,  2640,   954,  3049,  3050,  3057,
    4580             :     2641,  3056,  3058,   652,  4237,  3059,  3066,  4243,  4131,  4132,
    4581             :     4133,  4134,  4135,  4136,  4137,  4138,  4139,  3067,   678,  3070,
    4582             :     3075,  3083,  3094,  2642,  2306,  3098,  1666,  3111,  5197,  3099,
    4583             :     3102,  3114,  3117,   866,   866,   866,  3118,  3127,  3484,  3138,
    4584             :     2679,  3144,  3487,  3148,  3160,  3162,  3484,  3163,  3164,  5189,
    4585             :      866,  2643,  5191,  3131,  3135,  3476,  3153,  3210,  3178,   928,
    4586             :     3221,  3247,  3165,  3476,  1386,  3266,  3344,  3271,  3235,  3350,
    4587             :     2112,  3391,  3411,  3437,  3311,  3417,  3432,  3438, -3012,  3452,
    4588             :     3451,  5206,  2005,   866,   866,  3354,  3370,  3389,   866,  3416,
    4589             :     2640,  5267,  3436,  3453,  2373,  2641,  3435,  3450,  3454,  3455,
    4590             :      866,  3459,  1457,  3467,  5472,  3468,  3489,  3506,  3523,  3486,
    4591             :     2644,  3507,   936,  5146,  3508,  5108,  5109,  3494,  2642,  2306,
    4592             :      952,  3530,  3509,   964,  3542,   964,   964,  3531,  3543,  3545,
    4593             :     3571,  3562,  5192,  5193,  5194,  5195,  5196,  3574,  5253,  3576,
    4594             :     3579,  3584,  5314,  3589,  3603,  3590,  2643,  3595,  3592,  4623,
    4595             :     3619,  1401,  3640,  1405,  3624,  3626,   954,  3643,  3634,  3641,
    4596             :     3642,  3653,  3666,  3672,  3671,  3692,  3698,  3705,  3699,  3700,
    4597             :     3213,  4679,  3708,  3725,  3807,  3747,  3726,  3834,  3716,  3723,
    4598             :     3763,   866,  1882,  3822,  4619, -3012,  3746,   937,  3486,  2373,
    4599             :     3830,  3831,  3843,  3850,   866,  3856,  3857,  2578,  2579,  2580,
    4600             :     2581,  2582,  2583,  3862,  3878,  2644,  2646,  3867,  2645,  4808,
    4601             :     3858,  3889,  3890,  1386,  3904,  3908,  3910,  3906,  3918,  3931,
    4602             :     4656,  3936,  1386,  3937,  3938,  3939,  3940,  3925,  3944,  3949,
    4603             :     1239,  3947,  3951,  3952,  3955,  3956,  1386,  3961,  3976,  3977,
    4604             :     1386,  1386,  1386,  3986,  3978,  3987,  5443,  1386,  3988,  3990,
    4605             :     1386,  3992,  4006,  1386,  4008,  4012,  4009,  5889,  4014,  1386,
    4606             :     4017,  1386,  4018,  4019,  1386,  4020,  4021,  1980,  1549,  1386,
    4607             :     1386,  1386,  1386,  4027,  4032,  1386,  1386,  1386,  1386,  1386,
    4608             :     1386,  1386,  1386,  1386,  1386,  5347,  1977,  4022,  1386,  1386,
    4609             :     1386,  1944,  4038,  4026,  4036,  4037,  4045,  5381,  1386,  4050,
    4610             :     1236,  2646,  4048,  1386,  1550,   929,  4058,  1386,  4078,  4081,
    4611             :     4094,  4098,  4075,  2574,  3288,  1386,  4076,  4120,  1386, -2256,
    4612             :     1386,  4077,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    4613             :     2583,  4156,  4159,  4089,  4176,  4171,  1386,  4100,  4190,  1386,
    4614             :     1386,  4096,  5387,  5388,  1386,  1386,  4227,  4207,  4111,  1386,
    4615             :     4106,  1386,  4814,  4109,  4112,  4116,  3486,  4274,  4233,  3835,
    4616             :      866,   866,   866,  4118,  4119,  5318,  4142,  4147,  1551,  4148,
    4617             :     4815,  4816,  4817,  4818,  6300,  6301,  2648,  2706,  6303,  4200,
    4618             :     1386,  4249,  4263,  4249,  4249,  4274,  1386,  4249,  4155,  4201,
    4619             :     4837,  4241,  4270,  1082,  3488,  4170,   722,  4203,  3488,   191,
    4620             :     4250,  3251,  4285,  4283,  4852,  1552,  4289,  4287,  2574,  4296,
    4621             :     4304,  4205,  4266,  4228,  4234,  4310,  2066,  2575,  2576,  2577,
    4622             :     2578,  2579,  2580,  2581,  2582,  2583,  4235,   652,  4236,  4276,
    4623             :     4315,  1386,  4242,  4318,  4097,  4317,  5431,  5432,  1079,  1080,
    4624             :     4322,  4324,  4347,  4348,  4336,  4349,  3537,  1081,  1386,  4361,
    4625             :     4337,  4353,   725,  3252,  4355,  1553,  4359,  4360,  4365,  5356,
    4626             :     1083,  4368,  4366,  4371,  4385,  4373,  3487,  4384,  4387,   726,
    4627             :     3486,  4395,  4393,  4403,  4411,  4394,  4420,  4434,  4436,  4438,
    4628             :     4440,  4442,  4444,  4448,   187,  4449,  4452,  1059,  4454,  4455,
    4629             :     4459,  5421,  5422,  4456,  5424,  1554,  4457,  4474,  4476,  1555,
    4630             :     4477,  4478,  4475,  4927,  2005,  2848,  4481,  2005,  5456,  5580,
    4631             :     2005,  3253,  4936,  4490,  4479,  4484,  4486,  4488,  4493,  5511,
    4632             :      187,  4480,  4482,  4483,  4495,   729,  4497,  2990,  2993,  4485,
    4633             :     4487,  4960,  1556,  1557,   730,  4489,  4499,  4500,  4506,  4516,
    4634             :     4521,  4527,  4509,  5619,  4510,  4513,  4511,   731,  4529,  4565,
    4635             :     4570,  4577,  4571,  3254,  4580,  4581,  4584,  4588,  4598,  4599,
    4636             :     4601,  4608,  4617,  5414,  4611,  4618,  4621,  5527,  4622,  4624,
    4637             :     5529,  5530,  4638,  4652,  1558,  4274,  4655,  3486,    35,   952,
    4638             :     1062,  4662,   964,  1559,   964,   964,  5009,  4658,  4664,  4670,
    4639             :     5535,  4671,  1560,  4672,  4673,  4677,  4693,  4674,  4675,  4692,
    4640             :     4700,  1561,  4694,  4701,  4702,  4703,  4705,  4706,  4713,  1562,
    4641             :     4718,  4723,  4707,  4717,  4708,  4709,  4719,  4724,  3255,  2052,
    4642             :     4727,  4732,  1563,  4720,  4124, -2255,  4733,  4785,  4796,  4738,
    4643             :     4797,  1564,  4827,  4768,  5012,  4745,  1565,  4769,  4770,  4777,
    4644             :      735,  5053,  4800,  2953,  4811,  3769,  4823,  4825,  4833,  4840,
    4645             :     4836,  4841,  4848,  4838,  4849,  4853,  4854,  4855,  4856,  4864,
    4646             :     4858,  5474,  4867,  4869,  4873,  4893,  4904,  4884,  4914,  4907,
    4647             :     4905,  4906,  4915,  4917,   954,  4921,  5623,  4918,  4937,  4940,
    4648             :     4941,  4958,  4961,  4974,  4977,  3638,  4973,  4989,   954,  4975,
    4649             :     1386,  4976,  4987,  4988,  1566,  4990,  4991,  4992,   866,  5003,
    4650             :     5001,  5010,  5021,  5022,  5098,  5027,  5030,  5046,  5047,  5004,
    4651             :     5049,  5914,  4947,  5916,  5698,  2848,  5052,  5062,  5078,  5063,
    4652             :     5065,  5066,   213,  3256,  5067,  5090,   740,  5100,  5105,  5111,
    4653             :      866,  5119,  5126,  2103,  5132,  3488,  3924,  5125,  5138,  5131,
    4654             :     5148,  5154,  5155,  3806,  4543,  3486,  5165,  5174,  5176,  5190,
    4655             :     4544,  5198,  5147,  1066,  3222,  5204,  3257,  5172,  5171,  5184,
    4656             :      187,  5595,   866,   744,  4545,  3484,  5178,  5179,  5175,  3484,
    4657             :      745,  5205,  5595,   746,  1386,  1386,  5222,  5223,  5214,  5221,
    4658             :     5224,  5226,  3476,  5225,  2111,  1386,  3476,  2112,  5227,  5228,
    4659             :     5233,  5244,  4546,   747,  4547,  5234,  2005,   866,  5239,  5250,
    4660             :      652,  1068,  5282,   652,  5256,  5261,  5297,  5265,   749,   999,
    4661             :    -2257,  1069,  5259,  5260,   866,  5746,   751,  5278,  5292,  2637,
    4662             :     4548,  5316,  5307,  5320,  5300,  5293, -3012,  5321,  6038,  5311,
    4663             :     5331,  3258,  5925,  5336,  5334,  5339,  5319,  5363,  5343,  3487,
    4664             :     5337,  5364,  3487,  5378,  5379,  3966,  5380,  5382,  5368,  5157,
    4665             :     5389,   652,  2639,  5384,  4549,  1386,  5390,  5391,   756,   652,
    4666             :     3486,  5410,  5412,  5403,  5416,  5406,  3486,  5425,  5417,  1549,
    4667             :     5647,  1386,  5426,  5434,  3484,  5433,  5435,  5440,  6071,   655,
    4668             :     5444,  5447,  5451,  4550,  5452,  5453,  5461,  5464,  5469,  1386,
    4669             :     3487, -2774,  5473,  5477,  5479,  5488,  5471,  5493,  3487,  5495,
    4670             :     5470,  5483,  5499,  5500,  5502,  1550,  5504,  5506,  5668,  5517,
    4671             :     5508,  5507,  3197,  5523,  5525,  5532,  5533,  1386,  5559,  5569,
    4672             :     1386,  5570,  5579,  5588,   917,  6104,  6106,  5625,  1386,  1386,
    4673             :     5823,  5538,  5663,  5552,  5563,  1386,  1386,  5583,  5553,  5571,
    4674             :     1386,  5594,  5598,  5636,  5828,  1386,  5628,  5643,  1386,  1386,
    4675             :     5601,  5639,  5620,  5622,  5653,  1386,  5657,  5658,  5659,   866,
    4676             :      866,   866,   866,  3297,  3297,  4551,  5851,  5638,  5665,  1551,
    4677             :     4552, -3012,  5652,  2105,  5654,  5655, -3012,   653,  3324,  5660,
    4678             :     4249,  5671,  5713,  5672,  3488,  5676,  5691,  3345,  5682,  3488,
    4679             :    -2774,  3486,  3488,   653,  5683,  3806,  5684,  5313,  5719,  5720,
    4680             :     1386,  5089,  1001,  5722,  5725,  5728,  1552,  5732,  5733,  5752,
    4681             :     5753,  5757,  5762,  5764,  5780,  4295,  5785,  5799,  4553,  1386,
    4682             :     5881,  3537,  5791,  5793,  5792,  5808,  5809, -3012, -2776,  2111,
    4683             :     5826,  5338,  2112,  5813,  4554,  5835,  5859,   805,  5866,  5814,
    4684             :     5876,  5883,  5827,  5841, -2774,  5853,  5855,  5909,  5910,  5927,
    4685             :     5885,  3967,  5857,  5858,  5891,  5896,  1553, -2774,  6097,  5850,
    4686             :     5894,  5887,  5902, -2774,  2637,  2848,  1386,  5941,  5944, -2774,
    4687             :      655, -3012,  5908,  5952,  5948, -2774,  5919,  5954, -2774,   655,
    4688             :      974,  5374, -2774,  6010,  5962,  5967,  2644,   655,  5982,   974,
    4689             :      655,  5980,  5976,  5981,  5983,  6235,  5984,  2639,  5993,  5994,
    4690             :     1555,  5323,  5325,   974,  6005,  5995,  3484,  3484,  5996,  6001,
    4691             :     6003,  6011, -2774,  6021,  6022,  6109,  6026,  6035,  6036,  6044,
    4692             :     6037,  6042,  6052,  3476,  5231,  4208,  3769, -2776,  6060,  6064,
    4693             :     6065,  6067,  6068,  6069,  1557,  6082,  6102,  3769,  4555,  6114,
    4694             :     6116,  6118,  6122,  2111,  6111, -2774,  2112,  1386,  6125,   187,
    4695             :     6126,  6145,  5918,  6144,  1386,  6142,  6143,  6152,  6153,  6158,
    4696             :     6159,  6160,  6165,  6166,  6172,  6177,  6167,  6181,  6182,  6184,
    4697             :     4804,  6198,  5913,  6188,  6295,  6296,   954,  6196,  2637,    35,
    4698             :     6206, -2776, -3012,  6219,  3968, -3012,  1145,  6227,  6221,  6229,
    4699             :     6008,   954,  6112,  1560, -2776,  5698,  6113, -2774,  6247,  6248,
    4700             :    -2776, -2774,  1561,  6265,  6249,  6267, -2776, -2774,  6286,  6284,
    4701             :     2825,  2639, -2776,  6285,  6321, -2776, -3012,  6287,  6051, -2776,
    4702             :     6053, -3012,  1386,  1563,  6290,  6302,  6288,  6298,  6311,  6312,
    4703             :     6306,  6313,  1564,  6329,  6327,  6347,  6353,  1565,  6357,   653,
    4704             :     6359,  6358,  6361,  6362,  6371,  6374,  2848,  6396,  6354, -2776,
    4705             :     6376,  6397,  6400,  6395,  6398,  2005,  2111,  6399,  3969,  2112,
    4706             :     6415,  4302,  6427,  6429,  6418, -2019,  6438, -2774,  6430,  6442,
    4707             :     3924,  6455, -3012,  6316,  6444,  6471,  6456,  6472,  6488,  6475,
    4708             :     1469,  5787, -2776,   954,  4805,  3946,  6463,  6477,  6483, -3012,
    4709             :     6481,  2637,  6486,  6494,  1684,  1566,  1683,  4225, -3012,  3970,
    4710             :     3780,  2578,  2579,  2580,  2581,  2582,  2583,  1576,  3007,  3697,
    4711             :     4379,   866,  2628,  4964,   999,  4957,  6230,  3821,  3869,  4526,
    4712             :     5710,  6096,   866,  6328,  2639,  5107,   810,  5763,  4953,  4954,
    4713             :    -3012,  2644,  5450,  5745, -2776, -3012,  4357,  4320, -2776,  5940,
    4714             :     4274,  5372,  5669,  6378, -2776,  6322,  5645,  6379,  3484,  6117,
    4715             :     6339,  6115,   999,  6246,  4364,  3484, -2774,  5481,  5667,  5129,
    4716             :     3484,  5158,  5137,  3484,  5099,  6079,  3887,  6097,  3888,  4962,
    4717             :     5486,  4397,  3476,  4587,  1668,  1386,  5124,  3476,  5475,  5751,
    4718             :     3476, -2774,  4627, -2774, -2774,  1386, -3012,  5182,  1386,  6392,
    4719             :     5997,  1386,  1386,  1386,  6073,  6493,  6473,  5276,  5726,  4532,
    4720             :     5166,   187,   187,  5712, -2776, -2774,  6251,  5670,  5904,  5673,
    4721             :      759,   812,  1145,  1075,  2025,  5879,  1386,  1386,  4678,  5199,
    4722             :     1386,  5201,  6388,  3074,  3916, -2774,  5168, -3012, -2774, -2774,
    4723             :    -2774,  4311,  3548,  5788,  4644,  3137,  5991,  1386,  1146,  3133,
    4724             :     4496,  1386,  1186, -3012,  4993,  2644,  3818,  1386, -3012,  3149,
    4725             :     4443,  3488,  6271,  6428,  5185,  5313,  1414,  6377,  1386,  2761,
    4726             :     5618,  5186,  5326,   810,  6203,  3846,  1386,  3032,  4878,  3493,
    4727             :     5875,  5878,  4927,  2649,   840,  1386,   841,  5229,  3166,  4272,
    4728             :     4284,  2601,  6201,  3503,  6054,  4245,  2710,  4846,  4830,  4238,
    4729             :     5600,  4879,  5840, -2776,  5839,  4239,  6413,  6187,  6043, -3012,
    4730             :     2709,  6304,  4240,  6441,  2714,  5822,  4927,  1001,   954,  4779,
    4731             :      954,  3412,  2005,  6055,  2658,  4204,  3966,  6056, -2776,  3415,
    4732             :    -2776, -2776,  3330,  4198,  3845,  4070,  4196,  6009,  6446,  4189,
    4733             :     4105,  4728,  3427,  3491, -3012,     0,  1465,     0,   974,     0,
    4734             :     1549, -3012, -2776,     0,   965,  1001,  2578,  2579,  2580,  2581,
    4735             :     2582,  2583,     0,     0,     0,  6459,     0,   974,  2644,     0,
    4736             :        0,     0, -2776,   974,     0, -2776, -2776, -2776,     0,     0,
    4737             :        0,     0,     0,     0,     0,   974,  1550,     0,   652,     0,
    4738             :        0,  5913,   652,     0,     0,  3505,     0,     0,     0,   965,
    4739             :        0,   974,  5621,     0,     0,     0,   655,     0,  6319,     0,
    4740             :        0,   917,     0,  5098,     0,   655,   974,     0,   866,     0,
    4741             :        0,     0,   655,   866,   974,   655,     0,  3487,     0,     0,
    4742             :        0,  3487,  2848,     0,     0,     0,     0,   917,   974,     0,
    4743             :        0,     0,   866,     0,     0,     0,  5147,     0,   974,  5765,
    4744             :     1551,  3484,     0,     0,     0,     0,     0,     0, -3012,     0,
    4745             :      954,   866,  4927,     0, -3012,     0,     0,     0,     0,     0,
    4746             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,    71,
    4747             :      187,  6436,    80,   175,    83,    84,    85,  1552,     0,    86,
    4748             :        0,   106,     0,   184,   124,  6474,  1386,   652,   129,   191,
    4749             :        0,   974,  6380,     0,     0,   159,     0,     0,     0,   178,
    4750             :     5778,   185,     0,  1386,     0,  5750,     0,  1386,     0,  1386,
    4751             :        0,     0,   929,   655,   655,     0,     0,     0,     0,   974,
    4752             :        0,  1145,  3967,  1386,     0,     0,  3487,  1553,   180,   181,
    4753             :        0,   653,  6436,     0,  1386,     0,  5776,   183,  5848,     0,
    4754             :        0,  6416,     0,     0,   974,  1386,   655,  6381,  6382,     0,
    4755             :      186,     0,  1386,     0,     0,     0,     0,  6436,     0,     0,
    4756             :        0, -3012,     0,     0,     0,     0,     0,     0,     0,     0,
    4757             :      917,  1555,     0,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    4758             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4759             :        0,     0,     0,   655,     0,  2005,     0,     0,     0,     0,
    4760             :        0,     0,     0,  1579,  1386,  1557,   974,     0,     0,  1580,
    4761             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4762             :     1386,     0,  3484,     0,  1688,     0,  1386,  1386,     0,     0,
    4763             :        0,   954,   954,   954,   954,     0,     0,     0,   999,  3476,
    4764             :        0,     0,     0,  3484,     0,     0,     0,     0,     0,     0,
    4765             :       35,     0,     0,     0,  1582,  1559,     0,     0,     0,     0,
    4766             :        0,     0,  1386,     0,  1560,     0,     0,     0,     0,     0,
    4767             :        0,   653,     0,  1561,     0,     0,     0,  3484,     0,     0,
    4768             :        0,  2825,     0,     0,     0,     0,     0,     0,     0,     0,
    4769             :        0,     0,     0,     0,  1563,     0,   866,     0,     0,  3488,
    4770             :        0,     0,     0,  1564,     0,     0,     0,     0,  1565,  1689,
    4771             :        0,  1583,     0,     0,   655,   655,  1822,     0,  1584,   652,
    4772             :      652,     0,  1585,   974,   866,     0,     0,     0,   655,  3969,
    4773             :        0,     0,     0,   917,   655,     0,     0,     0,   655,     0,
    4774             :      655,     0,     0,     0,   917,     0,     0,     0,     0,     0,
    4775             :        0,  1586,  1386,     0,     0,     0,     0,     0,  3487,  3487,
    4776             :      917,     0,     0,     0,  1386,     0,  1566,     0,     0,     0,
    4777             :     3970,     0,     0,  1386,  1386,  1386,     0,     0,     0,  2005,
    4778             :        0,     0,     0,     0,     0,  3806,     0,  1587,  1386,  5970,
    4779             :        0,     0,     0,     0,     0,     0,     0,  1386,     0,  1386,
    4780             :        0,  1386,  5618,     0,   655,   187,   655,   655,     0,     0,
    4781             :        0,     0,     0,  4927,     0,     0,     0,     0,     0,     0,
    4782             :     1386,     0,     0,  3484,     0,     0,     0,     0,     0,  2005,
    4783             :        0,  1001,     0,     0,     0,   866,   187,     0,     0,     0,
    4784             :     1386,  6226,     0,     0,     0,     0,     0,   974,     0,     0,
    4785             :      187,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4786             :        0,     0,     0,     0,     0,     0,     0,  1690,     0,     0,
    4787             :        0,  1589,     0,     0,     0,   655,  2005,  2005,     0,     0,
    4788             :        0,     0,  1590,     0,     0,     0,     0,     0,     0,     0,
    4789             :        0,     0,  1591,     0,     0,     0,     0,     0,  6061,     0,
    4790             :        0,     0,  3484,     0,  1592,     0,   954,     0,   974,     0,
    4791             :     6278,  6279,     0,     0,     0,     0,     0,   917,     0,   974,
    4792             :     6138,  1579,     0,     0,     0,     0,     0,  1580,     0,     0,
    4793             :        0,     0,     0,     0,     0,     0,   974,     0,     0,     0,
    4794             :     2103,   974,  1581,     0,     0,     0,  1691,     0,     0,  1594,
    4795             :     1595,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    4796             :        0,   652,     0,     0,     0,     0,     0,     0,   652,     0,
    4797             :        0,  1386,  1582,   652,     0,     0,   652,  5309,     0,     0,
    4798             :        0,  1692,     0,     0,     0,     0,  1386,     0,     0,     0,
    4799             :     5848,     0,     0,     0,     0,   655,  1386,     0,     0,     0,
    4800             :     3487,     0,     0,     0,  6204,     0,     0,  3487,  3537,     0,
    4801             :        0,     0,  3487,  3324,  3324,  3487,     0,     0,  3324,     0,
    4802             :        0,     0,     0,     0,   655,   655,   655,   965,   655,  1583,
    4803             :        0,     0,     0,     0,     0,     0,  1584,     0,     0,   954,
    4804             :     1585,     0,     0,     0,     0,     0,  2005,     0,     0,   655,
    4805             :        0,     0,     0,     0,  1597,     0,     0,     0,     0,  3324,
    4806             :     3324,     0,     0,     0,     0,     0,     0,     0,     0,  1586,
    4807             :     3484,  2848,     0,     0,   974,     0,     0,     0,  1386,     0,
    4808             :        0,     0,   974,   974,     0,     0,     0,  3476,  4927,   187,
    4809             :        0,     0,     0,     0,     0,     0,   965,   965,  6281,     0,
    4810             :        0,     0,  1386,     0,     0,  1587,   655,     0,     0,     0,
    4811             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4812             :        0,     0,   191,     0,     0,  2005,  2005,  6297,     0,     0,
    4813             :        0,     0,     0,  1386,  1386,  1822,     0,  1386,     0,     0,
    4814             :     6305,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    4815             :        0,     0,   655,  2113,  2114,  2115,   655,   655,  6252,     0,
    4816             :        0,  6273,  6274,     0,     0,  2005,     0,     0,     0,     0,
    4817             :     6275,   954,   655,  6352,     0,     0,     0,     0,   917,     0,
    4818             :        0,  2637,     0,  6276,  3484,  1588,     0,     0,  2638,  1589,
    4819             :        0,     0,  1549,     0,     0,     0,     0,     0,   187,     0,
    4820             :     1590,     0,     0,  6138,   954,   954,     0,     0,     0,  4927,
    4821             :     1591,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    4822             :        0,     0,  1592,  5458,     0,     0,     0,   653,  1550,  6484,
    4823             :     6485,     0,     0,     0,  1386,     0,     0,     0,     0,     0,
    4824             :      191,     0,  6370,     0,     0,   917,     0,     0,     0,     0,
    4825             :     1386,     0,     0,     0,   652,     0,  3537,     0,     0,   795,
    4826             :        0,  4295,     0,     0,  1593,   795,     0,  1594,  1595,     0,
    4827             :        0,  1386,     0,     0,     0,     0,     0,     0,     0,  6273,
    4828             :     6274,     0,     0,     0,     0,     0,   917,     0,  6275,     0,
    4829             :        0,  3484,  1551,  3487,     0,  2111,     0,     0,  2112,  1596,
    4830             :        0,  6276,  2113,  2114,  2115,     0,     0,  6401,  6402,   653,
    4831             :     6406,     0,     0,     0,     0,  5848,     0,     0,     0,   917,
    4832             :     1386,     0,     0,     0,     0,     0,     0,     0,     0,  1552,
    4833             :     2637,   954,     0,  2640,  4927,     0,     0,  2638,  2641,     0,
    4834             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4835             :        0,     0,     0,     0,  6370,     0,     0,     0,     0,     0,
    4836             :        0,  2642,  2306,  2639,     0,   191,     0,     0,     0,     0,
    4837             :        0,     0,  1597,     0,     0,     0,     0,     0,     0,  1553,
    4838             :        0,  1386,   653,     0,     0,     0,   974,     0,     0,  2643,
    4839             :        0,     0,     0,     0,     0,     0,     0,     0,   653,     0,
    4840             :    -2793,   655,   655,   655,  6273,  6274,     0,     0,     0,     0,
    4841             :        0,     0,     0,  6275,     0,   965,   965,     0,     0,  6487,
    4842             :        0,  6370,     0,  1555,     0,     0,  6276,     0,     0,     0,
    4843             :        0,     0,  2373,     0,     0,   652,     0,     0,  6370,     0,
    4844             :        0,     0,     0,     0,     0,     0,     0,     0,  2644,     0,
    4845             :        0,     0,     0,     0,     0,     0,   652,  1557,   187,  3484,
    4846             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4847             :        0,   972,     0,     0,  3487,     0,     0,     0,     0,     0,
    4848             :     1008,     0,  2640,   187,     0,     0,     0,  2641,     0,     0,
    4849             :      652,     0,     0,     0,  1030,  3487,     0,     0,     0, -2793,
    4850             :        0,   974,    35,     0,  2824,     0,     0,  1559,     0,     0,
    4851             :    -3012, -3012,     0,   917,     0,     0,  1560,     0,     0,     0,
    4852             :        0,     0,   721,     0,   917,  1561,     0,     0,   964,  3487,
    4853             :        0,   809,     0,  2825,     0,     0,  1822,     0,  2643,     0,
    4854             :      917,     0,     0,     0,  2646,     0,  1563,     0,     0,     0,
    4855             :        0,     0,     0, -2793,     0,  1564,     0,     0,     0,   974,
    4856             :     1565,     0,     0,     0,     0,     0, -2793,   974,     0,     0,
    4857             :        0,     0, -2793,   964,  3484,   974,     0,     0, -2793,     0,
    4858             :     3484, -3012,     0,     0, -2793,     0,     0, -2793,     0,     0,
    4859             :        0, -2793,     0,     0,   917,     0,     0,  2644,     0,     0,
    4860             :        0,  6351,     0,   655,     0,     0,   655,     0,     0,   917,
    4861             :        0,     0,   917,   917,     0,     0,   655,   655,  1566,   974,
    4862             :      974, -2793,     0,     0,     0,     0,     0,     0,     0,     0,
    4863             :        0,   655,     0,   974,   655,     0,   652,     0,     0,     0,
    4864             :        0,     0,     0,   917,   917,     0,   974,   974,     0,     0,
    4865             :        0,  2574,     0,     0, -2793,     0,     0,     0,     0,     0,
    4866             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    4867             :        0,     0,     0,     0,     0,  3487,     0,     0,     0,     0,
    4868             :        0,     0,     0,     0,   655,     0,     0,     0,   655,   655,
    4869             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    4870             :        0,     0,     0,     0,     0,  3484, -2793,     0,     0,     0,
    4871             :    -2793,     0,     0,     0,     0,   652, -2793,     0,     0,     0,
    4872             :        0,     0,     0,   655,     0,   655,   187,     0,     0,     0,
    4873             :      655,   655,     0,     0,     0,     0,     0,   655,   655,   655,
    4874             :      655,   655,   655,   655,   655,   655,   655,   655,   655,   655,
    4875             :        0,     0,     0,   655,  3487,   655,     0,   655,   655,   655,
    4876             :      655,   655,   655,     0,     0,   655,     0,   655,   655,     0,
    4877             :        0,   655,     0,     0,     0,     0, -2793,     0,     0,     0,
    4878             :        0,     0,     0,     0,     0,   917,   655,   655,   655,     0,
    4879             :        0,     0,  1579,     0,     0,     0,  3297,     0,  1580,     0,
    4880             :     2574,     0,     0,     0,   655,     0,  1822,     0,     0,  2575,
    4881             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  3324,  3324,
    4882             :     3324,  3324,     0,     0,  3324,  3324,  3324,  3324,  3324,  3324,
    4883             :     3324,  3324,  3324,  3324,  1646,   810,     0,     0,     0,     0,
    4884             :        0,     0,     0,  1582,     0,     0,     0,     0,     0,     0,
    4885             :        0,     0,  4775,     0,     0,  5953,  1647,     0,     0,     0,
    4886             :        0,     0,     0,     0,     0, -2793,     0,     0,     0,     0,
    4887             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4888             :        0,     0,  4937,   652,     0,     0,     0,     0,  3324,  3324,
    4889             :    -2793,     0, -2793, -2793,     0,     0,     0,     0,     0,     0,
    4890             :     1583,     0,     0,     0,     0,     0,     0,  1584,  1648,  4947,
    4891             :        0,  1585,     0,     0, -2793,     0,  2781,     0,     0,     0,
    4892             :        0,     0,  3487,     0,     0,     0,     0,     0,     0,     0,
    4893             :        0,     0,     0,     0, -2793,  4835,     0, -2793, -2793, -2793,
    4894             :     1586,     0,     0,     0,     0,     0,     0,     0,  1100,     0,
    4895             :        0,     0,   655,     0,  1100,     0,  4948,     0,     0,     0,
    4896             :        0,  2111,     0,     0,  2112,     0,  1100,     0,  2113,  2114,
    4897             :     2115,     0,     0,     0,     0,     0,  1587,     0,  4949,     0,
    4898             :        0,     0,     0,     0,     0,     0,  2636,     0,     0,     0,
    4899             :        0,     0,     0,     0,     0,     0,  2637,   652,     0,     0,
    4900             :        0,  1649,     0,  2638,     0,     0,   655,     0,     0,     0,
    4901             :        0,  1579,     0,     0,     0,     0,   795,  1580,   795,     0,
    4902             :      795,     0,     0,     0,     0,     0,   795,  1223,  1224,  2639,
    4903             :        0,     0,  1688,     0,     0,     0,  3487,     0,     0,     0,
    4904             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4905             :        0,     0,     0,     0,     0,     0,  1690,     0,     0,  1650,
    4906             :     1589,     0,  1582,   655,  1651,     0,     0,     0,     0,  1652,
    4907             :        0,  1590,     0,     0,     0,     0,     0,     0,     0,     0,
    4908             :        0,  1591,     0,     0,     0,  2952,     0,     0,     0,  4950,
    4909             :        0,     0,     0,  1592,     0,     0,     0,     0,     0,     0,
    4910             :        0,     0,     0,     0,   652,     0,     0,     0,     0,     0,
    4911             :        0,     0,     0,     0,     0,     0,     0,  1689,     0,  1583,
    4912             :        0,  1654,     0,     0,     0,     0,  1584,     0,     0,     0,
    4913             :     1585,     0,     0,     0,     0,  2805,     0,     0,  1594,  1595,
    4914             :        0,     0,     0,  3487,     0,   914,     0,     0,  2640,     0,
    4915             :        0,     0,     0,  2641,     0,     0,     0,     0,     0,  1586,
    4916             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1656,
    4917             :     2806,     0,     0,  1076,     0,     0,  2642,  2306,     0,     0,
    4918             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4919             :        0,     0,     0,  1657,     0,  1587,     0,     0,     0,     0,
    4920             :        0,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    4921             :        0,   964,     0,     0,  1659,     0,  4951,   795,     0,  4368,
    4922             :        0,     0,     0,  1144,   721,     0,     0,     0,     0,     0,
    4923             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3324,
    4924             :        0,     0,     0,  1597,     0,     0,     0,  2373,   655,   655,
    4925             :      655,   655,   655,   655,   655,   655,   655,     0,   655,     0,
    4926             :        0,     0,     0,  2644,     0,  1660,  2645,     0,     0,   655,
    4927             :        0,   655,   652,     0,     0,  1690,     0,     0,     0,  1589,
    4928             :      964,   964,     0,     0,     0,     0,     0,   795,     0,     0,
    4929             :     1590,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4930             :     1591,     0,     0,     0,     0,     0,     0,     0,     0,   655,
    4931             :        0,  3487,  1592,   655,     0,     0,   655,     0,   655,  1243,
    4932             :        0,   655,     0,     0,     0,   655,     0,     0,     0,     0,
    4933             :        0,     0,  2874,     0,     0,     0,     0,     0,     0,  1265,
    4934             :        0,     0,     0,     0,     0,     0,  1822,  1389,   655,     0,
    4935             :     1398,  1144,  1400,     0,  3777,     0,     0,  1594,  1595,  2646,
    4936             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    4937             :        0,     0,     0,     0,   655,   655,     0,     0,     0,     0,
    4938             :        0,     0,     0,     0,     0,     0,     0,   652,     0,  3778,
    4939             :        0,     0,     0,   652,     0,     0,     0,     0,     0,     0,
    4940             :        0,   974,     0,     0,     0,     0,     0,     0,   917,     0,
    4941             :        0,  6356,   917,   917,     0,     0,     0,     0,     0,   974,
    4942             :        0,     0,     0,   974,     0,     0,  3487,   974,     0,     0,
    4943             :        0,     0,  3487,     0,     0,     0,   974,     0,     0,     0,
    4944             :        0,     0,     0,     0,     0,     0,  1579,     0,     0,     0,
    4945             :        0,   974,  1580,     0,   655,     0,     0,     0,     0,     0,
    4946             :        0,     0,  1597,     0,     0,   655,  2574,   917,   655,  5258,
    4947             :      655,   655,     0,   917,     0,  2575,  2576,  2577,  2578,  2579,
    4948             :     2580,  2581,  2582,  2583,     0,   974,     0,     0,  4113,     0,
    4949             :        0,  4114,     0,  6404,     0,     0,     0,  1582,     0,     0,
    4950             :        0,     0,     0,     0,     0,   974,   974,     0,     0,     0,
    4951             :        0,     0,     0,     0,     0,     0,     0,     0,   652,     0,
    4952             :        0,   917,     0,     0,     0,     0,     0,     0,     0,     0,
    4953             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4954             :        0,     0,     0,  1822,   974,     0,     0,  1822,     0,     0,
    4955             :        0,     0,     0,     0,  1583,  1144,     0,  3487,     0,     0,
    4956             :        0,  1584,     0,     0,     0,  1585,  6404,     0,     0,     0,
    4957             :        0,   974,     0,  1822,     0,     0,     0,   974,     0,     0,
    4958             :        0,     0,  6470,     0,     0,     0,     0,     0,     0,     0,
    4959             :        0,   974,     0,     0,  1586,     0,     0,     0,   974,   964,
    4960             :      964,   974,     0,     0,  1579,     0,     0,   974,     0,     0,
    4961             :     1580,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    4962             :        0,  2113,  2114,  2115,     0,     0,     0,   974,     0,     0,
    4963             :     1587,     0,     0,   974,     0,     0,     0,     0,     0,  2636,
    4964             :      974,   795,     0,     0,     0,     0,   795,   795,     0,  2637,
    4965             :        0,     0,     0,     0,   974,  1582,  2638,     0,     0,     0,
    4966             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    4967             :        0,     0,     0,  1822,  2654,     0,     0,     0,     0,   974,
    4968             :        0,     0,  2639,  2661,     0,  2662,     0,     0,     0,  2665,
    4969             :        0,     0,     0,     0,     0,     0,  2671,   655,   655,   655,
    4970             :        0,     0,     0,   655,     0,     0,     0,     0,     0,     0,
    4971             :     1588,     0,  1583,     0,  1589,     0,     0,     0,     0,  1584,
    4972             :        0,     0,     0,  1585,     0,  1590,     0,     0,     0,     0,
    4973             :      655,   917,     0,     0,     0,  1591,     0,     0,     0,  1822,
    4974             :        0,     0,     0,     0,     0,     0,  2030,  1592,     0,     0,
    4975             :        0,     0,  1586,     0,     0,     0,     0,     0,     0,     0,
    4976             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4977             :        0,     0,   655,  1144,     0,     0,     0,     0,     0,     0,
    4978             :        0,     0,     0,     0,     0,     0,     0,   795,  1587,  2890,
    4979             :        0,     0,  1594,  1595,     0,     0,     0,   795,     0,     0,
    4980             :        0,  2640,     0,     0,   917,     0,  2641,     0,   917,     0,
    4981             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4982             :        0,     0,   914,     0,  2891,     0,     0,     0,     0,  2642,
    4983             :     2306,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    4984             :        0,  1223,  1224,     0,     0,     0,     0,     0,   914,     0,
    4985             :        0,     0,     0,     0,     0,     0,     0,  2643,     0,     0,
    4986             :        0,     0,  2107,     0,     0,     0,     0,     0,  1690,     0,
    4987             :        0,  2109,  1589,     0,     0,     0,     0,     0,     0,     0,
    4988             :        0,     0,     0,  1590,   795,     0,     0,  2599,   795,   795,
    4989             :        0,     0,     0,  1591,   974,     0,  1822,  1597,     0,     0,
    4990             :     2373,     0,     0,     0,     0,  1592,  1144,     0,     0,  2616,
    4991             :     2617,   917,     0,   974,  1144,  1144,  2644,     0,     0,  2645,
    4992             :      974,     0,     0,     0,   655,     0,   917,   655,     0,   655,
    4993             :      655,   917,     0,     0,     0,     0,     0,  3324,     0,   655,
    4994             :        0,     0,     0,     0,   655,     0,     0,  3632,     0,     0,
    4995             :     1594,  1595,     0,     0,     0,     0,     0,     0,     0,     0,
    4996             :        0,   917,     0,     0,     0,     0,     0,     0,     0,     0,
    4997             :        0,     0,     0,     0,     0,     0,     0,  3005,     0,     0,
    4998             :        0,     0,  1596,     0,     0,     0,     0,     0,     0,     0,
    4999             :     3324,   914,     0,   655,   655,   655,     0,     0,   655,     0,
    5000             :        0,     0,     0,     0,     0,     0,   655,   655,   655,   655,
    5001             :        0,     0,  2646,     0,     0,     0,     0,  1822,     0,     0,
    5002             :        0,     0,   655,  1822,     0,   655,     0,   655,     0,     0,
    5003             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   655,
    5004             :      655,  1579,     0,   655,     0,     0,     0,  1580,     0,     0,
    5005             :        0,     0,     0,     0,     0,  1597,     0,     0,     0,     0,
    5006             :        0,  1579,     0,     0,   655,     0,   655,  1580,   655,     0,
    5007             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5008             :        0,     0,   795,     0,     0,     0,     0,   655,     0,     0,
    5009             :        0,  1579,  1582,     0,     0,     0,     0,  1580,     0,     0,
    5010             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    5011             :        0,     0,  1582,     0,     0,     0,     0,     0,     0,  2574,
    5012             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5013             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,
    5014             :        0,     0,  1582,     0,  4115,   655,     0,     0,   655,  1583,
    5015             :     3084,     0,     0,     0,   914,     0,  1584,     0,  3101,     0,
    5016             :     1585,   916,   655,     0,     0,   914,  3005,   655,     0,  1583,
    5017             :        0,  2957,     0,     0,     0,     0,  1584,     0,     0,  2965,
    5018             :     1585,   914,   655,     0,     0,     0,     0,     0,     0,  1586,
    5019             :        0,     0,     0,     0,     0,     0,   655,     0,     0,  1583,
    5020             :        0,     0,     0,     0,   655,     0,  1584,     0,     0,  1586,
    5021             :     1585,  3159,     0,     0,     0,     0,   917,     0,     0,   917,
    5022             :     -136,   917,     0,     0,     0,  1587,   917,     0,     0,     0,
    5023             :        0,     0,     0,     0,     0,     0,     0,     0,  3005,  1586,
    5024             :        1,   974,   974,     0,     0,  1587,     0,   655,     0,     0,
    5025             :        0,     2,  3324,     3,     4,     0,     0,     0,     0,     0,
    5026             :        0,     0,   974,     0,     0,   974,     0,     0,   917,     0,
    5027             :        0,     5,     0,     0,     0,  1587,   917,     0,     0,     0,
    5028             :        0,     6,     0,  3324,     0,     0,     0,     0,     0,     0,
    5029             :        0,     0,     0,     7,     0,     8,     9,  3272,  3273,     0,
    5030             :        0,   917,    10,     0,    11,  1690,     0,   655,     0,  1589,
    5031             :        0,     0,     0,     0,  3309,  3310,     0,    12,     0,    13,
    5032             :     1590,     0,     0,     0,     0,  1690,     0,     0,     0,  1589,
    5033             :     1591,     0,     0,     0,     0,     0,    14,     0,   914,    15,
    5034             :     1590,     0,  1592,     0,     0,  3355,     0,  1822,  1822,  1822,
    5035             :     1591,     0,     0,     0,    16,  1690,    17,     0,     0,  1589,
    5036             :       18,     0,  1592,     0,     0,     0,     0,    19,     0,     0,
    5037             :     1590,     0,   974,     0,     0,     0,     0,    20,     0,    21,
    5038             :     1591,   917,     0,   917,  3824,     0,    22,  1594,  1595,     0,
    5039             :        0,   974,  1592,     0,  3095,     0,     0,     0,  3100,     0,
    5040             :        0,     0,     0,     0,    23,     0,     0,  1594,  1595,     0,
    5041             :        0,     0,     0,   974,     0,     0,     0,     0,     0,  3825,
    5042             :        0,    24,     0,     0,     0,     0,     0,     0,     0,     0,
    5043             :        0,     0,     0,     0,  4341,     0,     0,  1594,  1595,  1596,
    5044             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5045             :        0,     0,  2111,     0,     0,  2112,     0,     0,     0,  2113,
    5046             :     2114,  2115,     0,     0,     0,     0,     0,     0,     0,  4342,
    5047             :        0,     0,     0,     0,     0,    25,    26,  2636,     0,   917,
    5048             :        0,    27,     0,     0,     0,     0,     0,  2637,     0,     0,
    5049             :        0,     0,  1597,     0,  2638,     0,    28,     0,  2615,     0,
    5050             :        0,     0,     0,   974,     0,     0,     0,     0,   655,     0,
    5051             :        0,     0,  1597,     0,   655,    29,     0,     0,     0,     0,
    5052             :     2639,     0,     0,   917,     0,     0,     0,     0,     0,     0,
    5053             :        0,     0,     0,     0,     0,     0,     0,  3324,     0,     0,
    5054             :        0,     0,  1597,     0,     0,     0,     0,     0,     0,     0,
    5055             :     1822,   917,     0,     0,     0,     0,   974,     0,   974,     0,
    5056             :        0,     0,     0,     0,    30,     0,     0,     0,  3283,     0,
    5057             :        0,   974,     0,   974,     0,     0,     0,     0,     0,    31,
    5058             :        0,     0,     0,     0,    32,    33,     0,    34,     0,     0,
    5059             :        0,     0,    35,   655,     0,     0,     0,     0,    36,   914,
    5060             :        0,    37,     0,     0,     0,     0,     0,     0,    38,     0,
    5061             :        0,     0,     0,     0,     0,    39,    40,     0,     0,   917,
    5062             :        0,     0,     0,    41,     0,     0,     0,    42,     0,     0,
    5063             :        0,     0,     0,     0,     0,     0,     0,     0,    43,  2640,
    5064             :      974,   917,     0,     0,  2641,     0,     0,     0,     0,     0,
    5065             :        0,     0,     0,     0,     0,    44,     0,     0,     0,     0,
    5066             :        0,     0,     0,   917,     0,     0,   914,  2642,  2306,     0,
    5067             :        0,     0,     0,     0,     0,     0,    45,     0,     0,     0,
    5068             :        0,     0,   974,     0,     0,     0,     0,     0,    46,     0,
    5069             :        0,     0,     0,     0,    47,  2643,     0,     0,     0,    48,
    5070             :        0,   974,     0,     0,     0,   974,     0,   914,     0,     0,
    5071             :        0,     0,     0,    49,     0,     0,     0,     0,     0,     0,
    5072             :        0,     0,     0,     0,     0,   905,   974,     0,     0,     0,
    5073             :        0,     0,     0,     0,     0,  6186,     0,    50,  2373,     0,
    5074             :      914,     0,   655,     0,     0,   917,     0,     0,     0,     0,
    5075             :        0,   655,     0,     0,  2644,     0,    56,  2645,     0,  -136,
    5076             :        0,     0,     0,     0,     0,   655,     0,     0,     0,   655,
    5077             :      655,   655,     0,     0,     0,     0,   655,     0,     0,   655,
    5078             :        0,     0,   655,     0,     0,     0,     0,     0,   655,     0,
    5079             :      655,     0,     0,   655,     0,     0,     0,   917,   655,   655,
    5080             :      655,   655,     0,     0,   655,   655,   655,   655,   655,   655,
    5081             :      655,   655,   655,   655,     0,     0,     0,   655,   655,   655,
    5082             :        0,     0,   917,     0,     0,     0,     0,   655,     0,     0,
    5083             :        0,     0,   655,     0,  1822,     0,   655,     0,   916,     0,
    5084             :        0,     0,     0,     0,   655,     0,     0,   655,     0,   655,
    5085             :     2646,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5086             :        0,  2113,  2114,  2115,   916,   655,     0,     0,   655,   655,
    5087             :        0,     0,     0,   655,   655,     0,     0,     0,   655,  2636,
    5088             :      655,     0,  3324,  3324,     0,     0,  3324,     0,     0,  2637,
    5089             :        0,     0,     0,     0,     0,     0,  2638,     0,     0,     0,
    5090             :     3456,  3458,     0,     0,     0,     0,  3466,     0,     0,   655,
    5091             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5092             :        0,     0,  2639,   655,     0,     0,     0,   655,     0,     0,
    5093             :        0,     0,     0,     0,   914,     0,     0,     0,  3512,  3512,
    5094             :        0,     0,     0,     0,     0,   914,     0,     0,     0,     0,
    5095             :        0,     0,     0,     0,     0,     0,     0,  2574,     0,     0,
    5096             :      655,   914,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5097             :     2579,  2580,  2581,  2582,  2583,     0,     0,   655,     0,     0,
    5098             :        0,     0,  4166,   917,     0,     0,     0,     0,     0,     0,
    5099             :        0,     0,  3539,     0,     0,     0,     0,     0,     0,     0,
    5100             :      795,     0,     0,     0,     0,     0,     0,   916,     0,   974,
    5101             :     3555,     0,     0,     0,  3558,   914,     0,     0,  3561,     0,
    5102             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5103             :      914,     0,   655,   914,   914,     0,     0,     0,     0,     0,
    5104             :        0,  2640,  3580,     0,     0,     0,  2641,  2111,     0,     0,
    5105             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    5106             :        0,     0,     0,     0,   914,   914,     0,     0,     0,  2642,
    5107             :     2306,     0,  2636,  1822,     0,     0,  3622,     0,  1822,   917,
    5108             :     1822,     0,  2637,     0,     0,     0,     0,     0,  3649,  2638,
    5109             :        0,     0,     0,     0,     0,     0,  1100,  2643,     0,     0,
    5110             :        0,     0,     0,     0,     0,     0,  1822,   917,     0,     0,
    5111             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,  2111,
    5112             :     3434,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    5113             :        0,     0,     0,     0,     0,  3682,     0,     0,     0,     0,
    5114             :     2373,     0,     0,     0,  2636,     0,     0,     0,     0,     0,
    5115             :        0,  1737,   974,     0,  2637,   974,  2644,     0,     0,  2645,
    5116             :        0,  2638,  3711,     0,     0,     0,     0,     0,  3720,     0,
    5117             :      916,     0,     0,     0,     0,     0,     0,   795,     0,     0,
    5118             :        0,   916,  3730,     0,     0,   795,     0,  2639,   795,  1100,
    5119             :        0,     0,  3743,     0,     0,     0,     0,   916,  3748,     0,
    5120             :      795,     0,     0,     0,     0,     0,   914,     0,     0,     0,
    5121             :        0,     0,     0,     0,     0,     0,     0,     0,  3761,   655,
    5122             :        0,     0,     0,     0,  3764,     0,     0,     0,     0,     0,
    5123             :        0,  3772,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5124             :        0,     0,     0,     0,     0,  3787,   974,   974,     0,     0,
    5125             :      917,     0,  2646,     0,     0,     0,     0,   974,     0,  3813,
    5126             :        0,     0,  2642,  2306,   655,   655,     0,     0,  1144,     0,
    5127             :     1100,     0,     0,     0,   974,     0,     0,     0,     0,     0,
    5128             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5129             :     2643,     0,     0,     0,     0,     0,     0,   917,     0,     0,
    5130             :        0,     0,   917,   655,   655,     0,  2640,     0,     0,     0,
    5131             :        0,  2641,     0,     0,   655,     0,     0,     0,     0,     0,
    5132             :        0,     0,     0,     0,  1400,     0,     0,     0,     0,     0,
    5133             :        0,     0,     0,  2373,  2642,  2306,     0,     0,     0,     0,
    5134             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5135             :        0,     0,  2645,     0,   916,   974,     0,     0,  1822,  2574,
    5136             :        0,     0,  2643,     0,     0,     0,     0,     0,  2575,  2576,
    5137             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,
    5138             :        0,  3353,     0,     0,   655,     0,  1579,     0,     0,     0,
    5139             :        0,     0,  1580,     0,     0,     0,     0,     0,     0,     0,
    5140             :      655,     0,   905,     0,     0,  2373,     0,     0,     0,     0,
    5141             :        0,  1400,     0,     0,     0,     0,     0,     0,   655,     0,
    5142             :        0,  2644,     0,     0,  2645,     0,     0,     0,   905,     0,
    5143             :        0,     0,     0,     0,     0,  1400,     0,  1582,     0,     0,
    5144             :        0,     0,     0,     0,     0,  2646,   655,   795,     0,   655,
    5145             :        0,     0,     0,     0,     0,     0,     0,   655,   655,     0,
    5146             :      917,     0,     0,     0,   655,   655,     0,     0,     0,   655,
    5147             :        0,     0,     0,     0,   655,     0,     0,   655,   655,     0,
    5148             :        0,     0,     0,     0,   655,  4031,     0,     0,     0,     0,
    5149             :        0,     0,     0,     0,  1583,     0,     0,     0,     0,  3812,
    5150             :        0,  1584,     0,  3816,  4047,  1585,   655,     0,     0,     0,
    5151             :        0,  4031,     0,   655,     0,     0,     0,  2646,   655,     0,
    5152             :        0,   655,   655,     0,     0,     0,     0,     0,     0,   655,
    5153             :        0,     0,     0,     0,  1586,     0,     0,     0,     0,     0,
    5154             :     3849,     0,  3849,     0,  3849,  3849,     0,     0,   655,  3849,
    5155             :     3849,  3849,  2574,  3849,  3849,  3849,     0,     0,     0,     0,
    5156             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5157             :     1587,   905,     0,     0,  4107,     0,     0,   917,     0,     0,
    5158             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5159             :      974,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5160             :        0,     0,     0,     0,     0,     0,     0,  3926,     0,     0,
    5161             :        0,     0,     0,     0,     0,  2745,     0,     0,     0,     0,
    5162             :        0,     0,     0,     0,  2574,     0,     0,     0,     0,     0,
    5163             :        0,   917,  3954,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5164             :     2582,  2583,     0,     0,     0,     0,  4528,     0,   974,  2111,
    5165             :     1690,     0,  2112,   917,  1589,     0,  2113,  2114,  2115,     0,
    5166             :      974,     0,     0,     0,     0,  1590,     0,     0,     0,     0,
    5167             :     4223,     0,   795,     0,  2636,  1591,   655,     0,     0,     0,
    5168             :        0,     0,  2745,   655,  2637,     0,     0,  1592,  4230,     0,
    5169             :        0,  2638,     0,     0,   974,     0,     0,     0,     0,     0,
    5170             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5171             :        0,     0,     0,     0,     0,     0,     0,  2639,     0,     0,
    5172             :        0,     0,     0,   916,     0,   917,     0,     0,     0,  4414,
    5173             :        0,     0,  1594,  1595,   905,     0,     0,     0,  4279,  4279,
    5174             :        0,     0,     0,     0,     0,   905,     0,     0,     0,     0,
    5175             :        0,   655,     0,     0,     0,     0,   916,     0,     0,     0,
    5176             :        0,   905,     0,     0,  4415,     0,     0,     0,   655,  1549,
    5177             :        0,     0,     0,  1822,     0,     0,     0,     0,     0,     0,
    5178             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5179             :        0,     0,   974,     0,     0,     0,     0,     0,     0,   655,
    5180             :        0,     0,     0,     0,     0,  1550,     0,     0,     0,     0,
    5181             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5182             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
    5183             :        0,     0,     0,   914,   914,     0,  2640,  1597,  1737,  1737,
    5184             :     1737,  2641,     0,     0,     0,   917,     0,   917,     0,     0,
    5185             :        0,     0,     0,  4325,     0,     0,   722,     0,     0,     0,
    5186             :        0,   723,     0,     0,  2642,  2306,     0,     0,     0,  1551,
    5187             :        0,     0,     0,     0,     0,     0,     0,     0,   974,     0,
    5188             :        0,     0,     0,     0,     0,     0,     0,     0,   914,     0,
    5189             :        0,     0,  2643,     0,   914,     0,     0,     0,     0,   724,
    5190             :        0,     0,     0,     0,   655,     0,  1552,     0,     0,     0,
    5191             :        0,     0,   725,     0,   655,     0,     0,   655,   905,     0,
    5192             :      655,   655,   655,     0,     0,     0,     0,     0,     0,   726,
    5193             :        0,     0,     0,     0,     0,  2373,     0,     0,     0,     0,
    5194             :     1144,     0,   914,     0,     0,   655,   655,   727,     0,   655,
    5195             :      916,  2644,     0,     0,  2645,     0,  1553,     0,     0,     0,
    5196             :        0,   916,     0,  4412,     0,     0,   655,     0,     0,     0,
    5197             :      655,   728,     0,     0,     0,     0,   655,   916,     0,     0,
    5198             :      655,     0,     0,     0,     0,   729,   917,   655,     0,     0,
    5199             :        0,     0,     0,     0,   730,   655,  1554,     0,     0,     0,
    5200             :     1555,   655,     0,     0,   655,     0,     0,   731,     0,     0,
    5201             :      974,     0,   974,   732,     0,     0,     0,     0,     0,     0,
    5202             :      733,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5203             :        0,   916,     0,  1620,  1557,   655,     0,     0,     0,     0,
    5204             :      734,     0,     0,     0,     0,     0,   916,  2646,     0,   916,
    5205             :      916,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5206             :        0,     0,   917,   974,     0,     0,     0,     0,     0,     0,
    5207             :        0,     0,     0,   655,     0,  1621,     0,     0,     0,    35,
    5208             :      916,   916,     0,     0,  1559,     0,     0,     0,     0,     0,
    5209             :        0,     0,     0,  1560,  4507,     0,     0,  1144,     0,     0,
    5210             :      735,     0,  1561,     0,     0,     0,     0,     0,     0,     0,
    5211             :     1622,     0,     0,  1822,     0,   795,     0,     0,   655,     0,
    5212             :        0,     0,     0,  1563,     0,     0,     0,     0,     0,     0,
    5213             :        0,     0,  1564,     0,     0,     0,     0,  1565,  4576,     0,
    5214             :        0,     0,     0,     0,     0,   736,     0,     0,     0,     0,
    5215             :        0,     0,   914,     0,  2574,     0,     0,     0,   737,     0,
    5216             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    5217             :     2582,  2583,   738,     0,     0,     0,  4715,     0,     0,   905,
    5218             :     1737,   655,   213,   739,   917,  4402,   740,     0,     0,     0,
    5219             :        0,     0,     0,     0,  1737,  1566,     0,  1737,     0,     0,
    5220             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5221             :        0,     0,     0,   741,     0,   655,   742,     0,     0,     0,
    5222             :      743,     0,   916,   744,     0,   914,     0,     0,     0,   914,
    5223             :      745,     0,   655,   746,     0,     0,   655,     0,   655,     0,
    5224             :        0,     0,     0,  4451,     0,     0,   905,     0,     0,     0,
    5225             :        0,     0,   655,   747,     0,     0,     0,     0,     0,     0,
    5226             :      655,   748,     0,   655,     0,     0,     0,     0,   749,     0,
    5227             :        0,   750,     0,  3005,   655,     0,   751,     0,     0,     0,
    5228             :        0,   655,     0,     0,   752,     0,   753,   905,     0,     0,
    5229             :        0,   754,  4680,     0,     0,   795,  4684,     0,     0,     0,
    5230             :        0,     0,     0,     0,     0,   755,     0,     0,     0,     0,
    5231             :        0,     0,     0,  4494,     0,     0,     0,     0,   756,     0,
    5232             :      905,     0,     0,     0,  1549,     0,     0,     0,     0,     0,
    5233             :        0,     0,   914,   655,     0,     0,     0,     0,     0,   917,
    5234             :        0,     0,     0,     0,   917,   917,     0,   914,     0,   655,
    5235             :        0,     0,   914,     0,     0,   655,   655,   974,     0,     0,
    5236             :     1550,  3849,     0,     0,     0,     0,     0,     0,     0,     0,
    5237             :        0,   974,   661,  4525,  4525,     0,     0,     0,   710,   661,
    5238             :        0,     0,   914,  4541,   762,     0,   661,     0,  1144,     0,
    5239             :     1144,   655,   661,     0,   815,     0,     0,     0,     0,     0,
    5240             :      655,     0,     0,  1822,     0,     0,     0,     0,     0,     0,
    5241             :        0,     0,     0,   877,   877,     0,     0,     0,     0,     0,
    5242             :        0,     0,     0,     0,  1551,     0,     0,     0,   655,     0,
    5243             :        0,     0,     0,     0,     0,     0,  4597,     0,     0,     0,
    5244             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5245             :        0,     0,     0,     0,     0,     0,     0,   917,   917,     0,
    5246             :        0,  1552,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5247             :        0,  4633,  1144,  2113,  2114,  2115,     0,     0,     0,     0,
    5248             :        0,   655,  1822,     0,     0,     0,     0,     0,     0,     0,
    5249             :        0,  2636,     0,   655,     0,     0,     0,     0,     0,     0,
    5250             :        0,  2637,   655,   655,   655,     0,     0,     0,  2638,     0,
    5251             :        0,  1553,     0,     0,   905,     0,     0,   655,  1822,     0,
    5252             :        0,   917,     0,     0,     0,   905,   655,     0,   655,     0,
    5253             :      655,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    5254             :        0,   905,   655,     0,     0,     0,     0,     0,     0,   655,
    5255             :        0,  1554,     0,     0,     0,  1555,     0,     0,     0,     0,
    5256             :        0,     0,     0,     0,   956,     0,     0,     0,   960,   655,
    5257             :        0,     0,     0,     0,     0,     0,  1003,     0,     0,  1005,
    5258             :        0,     0,  1010,  1011,     0,  1014,     0,  1017,  1637,  1557,
    5259             :     1023,     0,  1025,     0,  1822,   905,     0,   974,     0,     0,
    5260             :     4909,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5261             :      905,     0,     0,   905,   905,     0,     0,     0,     0,     0,
    5262             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5263             :     1638,     0,     0,     0,    35,     0,     0,   914,     0,  1559,
    5264             :      914,     0,   914,   795,   905,   905,     0,   914,  1560,   655,
    5265             :        0,     0,     0,  2640,     0,     0,     0,  1561,  2641,     0,
    5266             :        0,     0,     0,     0,     0,  1639,   908,     0,     0,     0,
    5267             :        0,   795,     0,     0,     0,  4789,     0,     0,  1563,     0,
    5268             :        0,  2642,  2306,     0,     0,   795,     0,  1564,     0,   914,
    5269             :        0,     0,  1565,     0,     0,     0,   795,   914,     0,     0,
    5270             :      655,     0,     0,     0,     0,     0,     0,     0,  1737,  2643,
    5271             :        0,     0,     0,     0,     0,   655,     0,     0,     0,     0,
    5272             :        0,     0,   914,     0,     0,   655,     0,     0,     0,     0,
    5273             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5274             :        0,     0,   974,  5035,     0,     0,  5038,     0,     0,     0,
    5275             :     1566,     0,  2373,     0,     0,     0,   655,     0,     0,     0,
    5276             :        0,     0,     0,     0,     0,     0,   974,     0,  2644,     0,
    5277             :        0,  2645,  1223,  1224,  2111,     0,     0,  2112,     0,     0,
    5278             :        0,  2113,  2114,  2115,     0,     0,   905,     0,     0,     0,
    5279             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2636,
    5280             :        0,     0,   914,     0,   914,     0,     0,   655,     0,  2637,
    5281             :        0,     0,     0,     0,     0,     0,  2638,   655,     0,     0,
    5282             :        0,     0,     0,     0,     0,   655,   655,     0,     0,     0,
    5283             :        0,   655,     0,     0,     0,     0,     0,     0,     0,     0,
    5284             :        0,     0,  2639,     0,     0,  3544,     0,     0,  5121,  2745,
    5285             :     3550,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5286             :        0,   795,   655,   655,  2646,  3005,   655,     0,     0,     0,
    5287             :        0,     0,     0,     0,  2111,     0,     0,  2112,     0,     0,
    5288             :        0,  2113,  2114,  2115,   902,     0,     0,     0,     0,     0,
    5289             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2636,
    5290             :      914,     0,     0,     0,   916,     0,   974,     0,     0,  2637,
    5291             :      916,  4541,     0,     0,   795,     0,  2638,   910,     0,     0,
    5292             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5293             :        0,     0,   655,     0,     0,     0,     0,     0,   655,  4999,
    5294             :        0,     0,  2639,     0,   914,     0,  4031,     0,     0,     0,
    5295             :        0,     0,     0,     0,  5013,     0,   655,  5014,   916,  5015,
    5296             :        0,  2640,     0,   655,     0,     0,  2641,     0,     0,     0,
    5297             :        0,  2574,   914,     0,     0,     0,     0,     0,     0,   655,
    5298             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,  2642,
    5299             :     2306,     0,     0,  4788,     0,     0,     0,     0,     0,     0,
    5300             :      655,     0,     0,     0,     0,  5055,     0,     0,     0,     0,
    5301             :        0,     0,     0,     0,     0,     0,     0,  2643,     0,     0,
    5302             :        0,  3849,     0,     0,     0,     0,  3849,     0,     0,     0,
    5303             :     1053,     0,     0,     0,     0,     0,     0,     0,   655,     0,
    5304             :      914,  1090,     0,   917,     0,  1094,     0,     0,     0,   655,
    5305             :        0,     0,  1107,  1108,     0,     0,  1114,     0,  1118,  1119,
    5306             :     2373,  2640,   914,   655,     0,     0,  2641,     0,     0,     0,
    5307             :     1822,     0,     0,  1141,     0,     0,  2644,     0,     0,  2645,
    5308             :        0,     0,     0,     0,   914,     0,     0,     0,     0,  2642,
    5309             :     2306,  1154,     0,     0,     0,     0,     0,     0,     0,     0,
    5310             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5311             :      655,   655,  1182,     0,  1184,     0,     0,  2643,     0,     0,
    5312             :        0,     0,     0,     0,  1200,     0,  5161,   655,     0,  4541,
    5313             :        0,  1822,     0,     0,     0,     0,  1737,     0,     0,     0,
    5314             :        0,     0,     0,     0,   655,   655,     0,     0,     0,     0,
    5315             :        0,     0,     0,     0,     0,     0,  1822,   661,     0,     0,
    5316             :     2373,     0,     0,     0,     0,     0,   914,     0,   916,     0,
    5317             :        0,     0,  2646,     0,     0,     0,  2644,   795,     0,  2645,
    5318             :        0,     0,     0,   795,     0,     0,     0,     0,   795,     0,
    5319             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5320             :        0,     0,     0,     0,     0,  5210,  5210,  5210,  5210,     0,
    5321             :     5210,  5210,  5210,  5210,  5210,  5400,  5401,     0,   914,     0,
    5322             :     5404,  5405,     0,     0,     0,     0,     0,     0,     0,     0,
    5323             :        0,     0,     0,     0,     0,     0,     0,     0,   877,  5397,
    5324             :        0,  2745,     0,   914,     0,  2745,     0,     0,     0,     0,
    5325             :        0,  5407,     0,     0,     0,     0,     0,     0,     0,     0,
    5326             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5327             :        0,     0,  2646,     0,     0,     0,     0,     0,     0,  2574,
    5328             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5329             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,   907,     0,
    5330             :        0,  4895,     0,     0,     0,     0,     0,     0,     0,     0,
    5331             :     2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,
    5332             :        0,     0,     0,  1540,   907,     0,     0,     0,  5289,     0,
    5333             :     5291,  2111,     0,     0,  2112,  2636,     0,     0,  2113,  2114,
    5334             :     2115,     0,     0,   908,     0,  2637,     0,     0,   916,     0,
    5335             :        0,     0,  2638,     0,     0,     0,  2636,     0,     0,     0,
    5336             :        0,     0,     0,   916,     0,     0,  2637,     0,   916,   908,
    5337             :        0,     0,     0,  2638,     0,     0,     0,     0,  2639,  2574,
    5338             :        0,     0,     0,     0,     0,     0,     0,     0,  2575,  2576,
    5339             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,  1721,   916,  2639,
    5340             :        0,  4920,     0,     0,   914,     0,     0,     0,     0,   905,
    5341             :        0,     0,     0,   905,   905,     0,     0,     0,     0,     0,
    5342             :        0,     0,  1842,     0,     0,     0,     0,     0,     0,     0,
    5343             :        0,     0,     0,     0,     0,     0,     0,  1854,     0,  1855,
    5344             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1858,
    5345             :        0,     0,     0,     0,     0,     0,  1868,     0,     0,     0,
    5346             :        0,     0,     0,     0,     0,     0,     0,   907,   905,  4031,
    5347             :        0,     0,     0,     0,   905,     0,     0,     0,     0,     0,
    5348             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5349             :        0,     0,     0,     0,     0,     0,     0,  2640,     0,  1920,
    5350             :      914,  1922,  2641,     0,     0,     0,     0,     0,     0,     0,
    5351             :        0,     0,   908,     0,     0,     0,     0,     0,  2640,     0,
    5352             :        0,     0,   905,  2641,     0,  2642,  2306,     0,   914,     0,
    5353             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5354             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    5355             :        0,     0,     0,  2643,     0,  5428,  5429,     0,     0,     0,
    5356             :        0,  1157,     0,     0,     0,     0,     0,     0,  3849,     0,
    5357             :     3849,  3849,  3849,     0,  2643,   661,     0,   661,     0,   661,
    5358             :        0,   661,     0,   661,   661,   661,     0,  1157,     0,     0,
    5359             :      661,     0,     0,     0,   910,     0,  2373,  2111,     0,     0,
    5360             :     2112,  4031,  2026,  4031,  2113,  2114,  2115,     0,     0,     0,
    5361             :        0,     0,  2644,     0,     0,  2645,     0,  2373,     0,     0,
    5362             :      910,     0,  2636,     0,     0,     0,   795,     0,     0,     0,
    5363             :      907,     0,  2637,  2644,     0,     0,  2645,  5482,     0,  2638,
    5364             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5365             :        0,     0,  2111,  2745,     0,  2112,  3550,   907,  3550,  2113,
    5366             :     2114,  2115,     0,  2745,     0,  2639,     0,     0,     0,     0,
    5367             :        0,   914,     0,     0,     0,   908,  5510,  2636,     0,     0,
    5368             :        0,     0,     0,     0,     0,     0,   908,  2637,     0,     0,
    5369             :        0,     0,     0,     0,  2638,     0,     0,     0,     0,     0,
    5370             :        0,     0,   908,     0,     0,   916,     0,     0,  2646,     0,
    5371             :        0,     0,     0,   916,     0,     0,     0,     0,   914,  5210,
    5372             :     2639,     0,     0,   914,     0,     0,     0,  2111,     0,  2646,
    5373             :     2112,     0,   905,     0,  2113,  2114,  2115,     0,  2745,     0,
    5374             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5375             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    5376             :        0,     0,  2637,   910,     0,     0,     0,     0,     0,  2638,
    5377             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5378             :        0,     0,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5379             :      877,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5380             :        0,     0,     0,     0,     0,   905,     0,     0,     0,   905,
    5381             :        0,     0,  2642,  2306,   907,  2574,     0,     0,   916,     0,
    5382             :      916,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    5383             :     2581,  2582,  2583,     0,     0,     0,  2574,  5127,     0,  2640,
    5384             :     2643,     0,     0,     0,  2641,  2575,  2576,  2577,  2578,  2579,
    5385             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  5240,   908,
    5386             :        0,     0,     0,     0,     0,     0,     0,  2642,  2306,     0,
    5387             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5388             :        0,   914,     0,  2373,     0,     0,     0,     0,     0,     0,
    5389             :        0,     0,     0,  1843,  4541,  2643,     0,     0,     0,  2644,
    5390             :        0,     0,  2645,     0,  1852,     0,     0,     0,     0,     0,
    5391             :     2803,     0,   905,     0,  2640,     0,   916,     0,     0,  2641,
    5392             :     1860,     0,     0,     0,     0,     0,   910,   905,     0,     0,
    5393             :        0,     0,   905,     0,     0,   795,     0,   910,  2373,     0,
    5394             :     3849,     0,  2642,  2306,     0,  1737,     0,     0,     0,  5711,
    5395             :        0,  1737,     0,   910,  2644,     0,     0,  2645,     0,     0,
    5396             :      916,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5397             :     2643,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5398             :        0,     0,  2902,     0,     0,     0,     0,     0,  3550,     0,
    5399             :        0,     0,     0,     0,     0,  2646,     0,     0,   914,     0,
    5400             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5401             :        0,     0,     0,  2373,     0,     0,     0,     0,     0,     0,
    5402             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5403             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5404             :        0,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5405             :     2646,     0,   914,     0,     0,     0,   916,     0,     0,     0,
    5406             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5407             :        0,     0,     0,     0,   914,   907,     0,  2031,  3550,     0,
    5408             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5409             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5410             :      916,     0,  2574,     0,     0,     0,     0,     0,     0,     0,
    5411             :      910,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5412             :      908,     0,     0,     0,  5277,  2646,     0,     0,     0,     0,
    5413             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5414             :        0,     0,   907,     0,     0,     0,   914,     0,     0,     0,
    5415             :     6094,     0,     0,     0,     0,     0,     0,  2574,     0,     0,
    5416             :        0,     0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,
    5417             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,  5281,
    5418             :        0,     0,   916,   907,     0,     0,     0,   908,     0,     0,
    5419             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5420             :     3033,     0,     0,  1144,     0,     0,     0,  5929,     0,     0,
    5421             :        0,     0,     0,     0,     0,     0,   907,   905,     0,     0,
    5422             :      905,     0,   905,     0,     0,     0,     0,   905,   908,     0,
    5423             :        0,     0,  2574,     0,   916,  3069,     0,     0,     0,     0,
    5424             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5425             :        0,     0,     0,     0,  5557,     0,     0,     0,     0,   916,
    5426             :        0,   908,     0,     0,     0,     0,     0,     0,   914,   905,
    5427             :        0,     0,     0,     0,     0,     0,     0,   905,     0,     0,
    5428             :        0,  3134,     0,     0,     0,     0,     0,     0,     0,     0,
    5429             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5430             :        0,  3152,   905,     0,     0,     0,     0,     0,     0,     0,
    5431             :        0,     0,     0,  2111,     0,     0,  2112,     0,     0,     0,
    5432             :     2113,  2114,  2115,     0,     0,     0,     0,  3172,     0,  3173,
    5433             :        0,     0,     0,  4031,     0,     0,     0,     0,  2636,     0,
    5434             :        0,     0,     0,     0,  3182,     0,  3183,     0,  2637,     0,
    5435             :        0,     0,   661,     0,   661,  2638,   661,     0,   661,     0,
    5436             :      661,     0,     0,     0,   661,     0,     0,     0,     0,     0,
    5437             :        0,   910,     0,     0,     0,     0,     0,     0,     0,     0,
    5438             :        0,  2639,   905,     0,   905,     0,     0,     0,     0,     0,
    5439             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5440             :        0,  3242,     0,     0,     0,     0,     0,   914,     0,     0,
    5441             :      907,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5442             :     2745,   907,     0,  2113,  2114,  2115,     0,     0,     0,  1144,
    5443             :        0,     0,     0,  6100,     0,  6101,     0,   907,   910,  6107,
    5444             :     6108,  2636,     0,     0,     0,     0,  2897,     0,     0,     0,
    5445             :        0,  2637,     0,     0,     0,   908,     0,     0,  2638,     0,
    5446             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5447             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   910,
    5448             :      905,     0,   908,   914,  2639,     0,     0,     0,     0,     0,
    5449             :        0,   907,     0,     0,     0,     0,     0,     0,     0,     0,
    5450             :     2640,     0,     0,     0,     0,  2641,   907,     0,     0,   907,
    5451             :      907,     0,   910,     0,     0,     0,  3550,     0,     0,   913,
    5452             :        0,     0,     0,     0,   905,     0,     0,     0,  2642,  2306,
    5453             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5454             :      907,   907,     0,     0,  3550,     0,     0,     0,     0,     0,
    5455             :        0,   908,   905,     0,   908,   908,  2643,     0,     0,     0,
    5456             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5457             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5458             :        0,     0,     0,     0,     0,   908,   908,     0,     0,     0,
    5459             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2373,
    5460             :        0,     0,     0,  2640,     0,   914,     0,     0,  2641,     0,
    5461             :        0,     0,     0,     0,     0,  2644,     0,     0,  2645,     0,
    5462             :      905,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5463             :        0,  2642,  2306,     0,  6434,     0,     0,     0,     0,     0,
    5464             :        0,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5465             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2643,
    5466             :        0,     0,     0,     0,   905,     0,     0,     0,     0,     0,
    5467             :        0,     0,  2111,  3036,     0,  2112,     0,     0,     0,  2113,
    5468             :     2114,  2115,   907,     0,  3047,     0,     0,   916,     0,     0,
    5469             :        0,     0,     0,     0,     0,  6434,     0,  2636,     0,     0,
    5470             :     3065,     0,  2373,     0,     0,     0,   910,  2637,     0,     0,
    5471             :        0,  2646,     0,     0,  2638,     0,     0,   910,  2644,     0,
    5472             :     6434,  2645,     0,   911,     0,     0,     0,   908,     0,     0,
    5473             :        0,     0,     0,   910,  3550,     0,     0,     0,  1144,  2745,
    5474             :     2639,     0,     0,     0,     0,     0,   905,     0,     0,   911,
    5475             :        0,     0,     0,     0,  3139,     0,     0,     0,     0,     0,
    5476             :      914,     0,     0,     0,     0,   914,   914,     0,     0,  3151,
    5477             :        0,     0,  1157,  3155,     0,     0,     0,     0,     0,     0,
    5478             :        0,     0,     0,     0,     0,     0,     0,   910,     0,     0,
    5479             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5480             :        0,     0,   910,  3174,  1157,   910,   910,     0,     0,     0,
    5481             :        0,     0,     0,     0,  2646,     0,     0,     0,  2574,     0,
    5482             :        0,     0,     0,   905,     0,     0,     0,  2575,  2576,  2577,
    5483             :     2578,  2579,  2580,  2581,  2582,  2583,   910,   910,     0,     0,
    5484             :     5568,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5485             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2640,
    5486             :        0,     0,     0,     0,  2641,     0,     0,     0,     0,     0,
    5487             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   914,
    5488             :        0,     0,     0,     0,     0,     0,     0,  2642,  2306,     0,
    5489             :        0,     0,   911,     0,     0,     0,     0,   916,     0,     0,
    5490             :        0,     0,  6435,     0,     0,     0,     0,     0,     0,  2599,
    5491             :        0,     0,     0,  6439,     0,  2643,     0,     0,     0,     0,
    5492             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    5493             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5494             :        0,     0,   914,  5578,     0,  3357,     0,     0,     0,  6465,
    5495             :        0,     0,     0,     0,     0,     0,     0,     0,  2373,     0,
    5496             :        0,     0,     0,  6435,     0,     0,     0,     0,     0,     0,
    5497             :        0,     0,     0,     0,  2644,     0,     0,  2645,   910,     0,
    5498             :        0,     0,     0,     0,   905,     0,     0,     0,  6435,     0,
    5499             :        0,  5289,     0,     0,     0,     0,     0,     0,     0,     0,
    5500             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5501             :        0,     0,     0,     0,   916,     0,     0,     0,     0,     0,
    5502             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5503             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5504             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5505             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5506             :        0,     0,     0,     0,     0,     0,   911,     0,   916,     0,
    5507             :     2646,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5508             :      905,     0,   911,     0,     0,     0,     0,     0,     0,     0,
    5509             :      916,     0,     0,  3540,  3541,     0,     0,     0,     0,     0,
    5510             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5511             :        0,     0,  3556,  3557,     0,  3559,  3560,     0,     0,     0,
    5512             :     3563,  3564,     0,     0,     0,     0,     0,     0,     0,     0,
    5513             :        0,     0,     0,     0,     0,  3575,     0,     0,     0,  3578,
    5514             :        0,     0,     0,  3581,  3582,     0,     0,  3585,  3586,     0,
    5515             :        0,     0,     0,     0,  3591,     0,     0,     0,     0,     0,
    5516             :        0,     0,   916,     0,     0,     0,  3606,     0,     0,     0,
    5517             :        0,     0,     0,     0,     0,     0,     0,  2574,  3623,     0,
    5518             :        0,     0,     0,  3625,     0,     0,  2575,  2576,  2577,  2578,
    5519             :     2579,  2580,  2581,  2582,  2583,     0,   913,     0,  3631,  5642,
    5520             :        0,     0,  3637,     0,     0,     0,     0,     0,     0,     0,
    5521             :        0,     0,     0,     0,  3648,     0,     0,  3652,     0,  3654,
    5522             :     3657,  3659,   913,     0,     0,     0,  3667,  3670,     0,     0,
    5523             :        0,     0,     0,   722,     0,     0,  3683,     0,  1055,   911,
    5524             :        0,     0,  3693,     0,     0,     0,  3696,     0,     0,     0,
    5525             :        0,   905,     0,     0,     0,     0,     0,     0,  3706,  3707,
    5526             :        0,     0,     0,  3712,     0,     0,     0,     0,     0,  3721,
    5527             :     3722,     0,     0,     0,     0,     0,  1056,     0,     0,     0,
    5528             :        0,     0,  5514,  3731,   916,     0,  3732,     0,     0,   725,
    5529             :     1057,     0,     0,  3744,  3745,     0,     0,     0,   905,  3749,
    5530             :        0,     0,  1058,   905,     0,   907,   726,     0,     0,   907,
    5531             :      907,  3756,     0,     0,  3759,     0,     0,     0,     0,  3762,
    5532             :        0,     0,     0,     0,  1059,  3765,  3766,     0,     0,     0,
    5533             :        0,     0,     0,  3774,     0,     0,     0,  3776,     0,     0,
    5534             :        0,  3783,  3784,  3785,  3786,     0,  3788,     0,  1060,     0,
    5535             :      908,     0,     0,     0,   908,   908,     0,     0,     0,     0,
    5536             :     3814,  3815,   729,  3817,   907,   913,     0,     0,     0,     0,
    5537             :      907,   730,     0,     0,  3827,  3828,  3829,     0,     0,     0,
    5538             :        0,     0,     0,     0,   731,     0,     0,     0,     0,     0,
    5539             :     1061,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5540             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   908,
    5541             :        0,     0,     0,     0,     0,   908,     0,  1062,   907,     0,
    5542             :        0,     0,     0,   916,     0,     0,     0,     0,     0,     0,
    5543             :        0,  3881,     0,     0,     0,     0,     0,     0,     0,  3905,
    5544             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5545             :        0,     0,     0,     0,     0,  1063,     0,     0,  3917,     0,
    5546             :        0,   905,     0,   908,   914,     0,     0,     0,     0,     0,
    5547             :        0,     0,     0,     0,     0,     0,     0,   735,     0,     0,
    5548             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5549             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3550,
    5550             :      911,     0,     0,     0,     0,     0,     0,     0,  3985,     0,
    5551             :        0,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5552             :        0,     0,  1064,  2113,  2114,  2115,     0,  3999,   913,  4001,
    5553             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   913,
    5554             :        0,  2636,     0,     0,     0,     0,     0,     0,     0,   738,
    5555             :        0,  2637,     0,     0,     0,   913,     0,     0,  2638,   213,
    5556             :     1065,     0,     0,   740,     0,     0,     0,   911,     0,     0,
    5557             :        0,     0,     0,     0,     0,     0,     0,     0,   905,     0,
    5558             :        0,     0,     0,     0,  2639,     0,     0,   915,     0,     0,
    5559             :     1066,     0,     0,  1067,     0,     0,     0,   743,     0,     0,
    5560             :      744,   910,     0,     0,     0,   910,   910,   745,   911,     0,
    5561             :      746,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5562             :        0,  3550,     0,     0,  4063,     0,     0,  3596,   907,     0,
    5563             :      747,     0,   905,  3604,     0,     0,     0,     0,  1068,     0,
    5564             :        0,   911,     0,     0,     0,   749,     0,     0,  1069,     0,
    5565             :        0,     0,     0,   751,   905,     0,     0,     0,     0,     0,
    5566             :      910,  1070,  2111,   753,     0,  2112,   910,     0,  1071,  2113,
    5567             :     2114,  2115,     0,   908,     0,     0,     0,     0,     0,     0,
    5568             :        0,  3647,     0,     0,     0,     0,     0,  2636,     0,     0,
    5569             :        0,     0,     0,     0,     0,   756,     0,  2637,     0,     0,
    5570             :        0,   907,     0,  2640,  2638,   907,     0,     0,  2641,     0,
    5571             :        0,     0,   913,     0,   910,     0,     0,     0,     0,     0,
    5572             :        0,     0,     0,     0,     0,     0,   905,     0,     0,     0,
    5573             :     2639,  2642,  2306,     0,     0,     0,     0,     0,     0,     0,
    5574             :        0,     0,     0,     0,     0,     0,   908,     0,     0,     0,
    5575             :      908,     0,     0,     0,     0,     0,     0,     0,     0,  2643,
    5576             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5577             :        0,     0,     0,     0,     0,     0,   916,     0,     0,     0,
    5578             :        0,   916,   916,     0,     0,     0,     0,     0,     0,     0,
    5579             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5580             :        0,     0,  2373,     0,     0,     0,     0,     0,   907,     0,
    5581             :        0,     0,     0,     0,     0,     0,     0,     0,  2644,     0,
    5582             :        0,  2645,     0,   907,     0,     0,     0,     0,   907,     0,
    5583             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5584             :        0,     0,     0,     0,     0,     0,   911,     0,   905,  2640,
    5585             :        0,     0,     0,   908,  2641,     0,     0,     0,   907,     0,
    5586             :        0,     0,   911,     0,     0,     0,     0,     0,   908,     0,
    5587             :        0,     0,     0,   908,     0,     0,     0,  2642,  2306,     0,
    5588             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5589             :        0,  3874,     0,     0,  5514,   916,     0,     0,     0,     0,
    5590             :        0,     0,     0,   908,     0,  2643,     0,     0,     0,     0,
    5591             :        0,     0,     0,     0,  2646,     0,   911,     0,     0,     0,
    5592             :        0,     0,     0,     0,   910,     0,     0,     0,     0,     0,
    5593             :        0,   911,     0,     0,   911,   911,     0,     0,     0,     0,
    5594             :        0,     0,     0,     0,     0,     0,     0,     0,  2373,     0,
    5595             :        0,     0,     0,     0,  4326,     0,     0,     0,   916,     0,
    5596             :        0,     0,     0,     0,  2644,   911,   911,  2645,     0,     0,
    5597             :        0,  4333,     0,   913,     0,  4333,     0,     0,     0,     0,
    5598             :     4344,  4345,  4346,     0,     0,     0,     0,   905,     0,     0,
    5599             :        0,     0,     0,     0,     0,     0,     0,   910,     0,     0,
    5600             :        0,   910,  4358,     0,     0,     0,     0,     0,     0,     0,
    5601             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5602             :        0,  2574,     0,     0,     0,     0,  4389,  4390,  4391,  4392,
    5603             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5604             :      913,     0,     0,  5675,     0,     0,     0,     0,     0,     0,
    5605             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5606             :     2646,     0,     0,   905,  4413,     0,  4417,  4418,  4419,     0,
    5607             :        0,  4046,     0,     0,     0,     0,     0,     0,     0,     0,
    5608             :        0,   913,     0,     0,     0,     0,  4056,     0,     0,     0,
    5609             :        0,  4061,     0,     0,     0,     0,     0,     0,     0,     0,
    5610             :        0,     0,     0,     0,   910,     0,     0,   911,     0,     0,
    5611             :        0,     0,     0,   907,   913,     0,   907,     0,   907,   910,
    5612             :        0,  4087,     0,   907,   910,     0,     0,     0,     0,     0,
    5613             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5614             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5615             :        0,     0,     0,     0,   910,     0,     0,     0,   908,     0,
    5616             :        0,   908,     0,   908,     0,   907,     0,  2574,   908,     0,
    5617             :        0,     0,     0,   907,     0,     0,  2575,  2576,  2577,  2578,
    5618             :     2579,  2580,  2581,  2582,  2583,   905,  4502,     0,     0,  5677,
    5619             :        0,     0,     0,     0,     0,  4508,     0,     0,   907,     0,
    5620             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5621             :      908,     0,     0,     0,     0,     0,     0,     0,   908,     0,
    5622             :        0,  4518,  4519,     0,     0,     0,  4520,     0,     0,     0,
    5623             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5624             :        0,     0,     0,   908,     0,     0,     0,     0,  4563,     0,
    5625             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5626             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5627             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5628             :      907,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5629             :      915,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5630             :     4600,     0,     0,     0,     0,  4606,     0,     0,   913,     0,
    5631             :        0,  4612,     0,     0,     0,     0,     0,     0,     0,   913,
    5632             :        0,     0,     0,   908,     0,   908,     0,     0,     0,     0,
    5633             :        0,     0,     0,     0,     0,   913,     0,     0,     0,     0,
    5634             :      905,  4651,     0,     0,     0,   905,   905,     0,     0,     0,
    5635             :        0,     0,     0,     0,     0,     0,     0,  2111,     0,     0,
    5636             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    5637             :     4666,     0,  4667,     0,     0,     0,   907,     0,     0,     0,
    5638             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,   913,
    5639             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    5640             :        0,     0,     0,     0,   913,     0,     0,   913,   913,   910,
    5641             :        0,     0,   910,     0,   910,     0,     0,     0,     0,   910,
    5642             :      907,   908,     0,     0,     0,  2639,     0,     0,  4328,     0,
    5643             :        0,     0,     0,   915,     0,     0,  4331,     0,   913,   913,
    5644             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5645             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   905,
    5646             :        0,   910,     0,     0,     0,   908,     0,     0,     0,   910,
    5647             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5648             :      916,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5649             :        0,     0,     0,   908,   910,     0,     0,     0,     0,     0,
    5650             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5651             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5652             :        0,     0,   905,     0,     0,     0,     0,     0,     0,     0,
    5653             :        0,     0,     0,     0,     0,     0,     0,     0,   907,     0,
    5654             :        0,  4429,     0,  4431,  2640,     0,     0,  1737,     0,  2641,
    5655             :        0,     0,     0,     0,     0,     0,  2111,     0,     0,  2112,
    5656             :      907,   908,     0,  2113,  2114,  2115,     0,     0,     0,     0,
    5657             :        0,     0,  2642,  2306,   910,     0,   910,     0,     0,     0,
    5658             :      913,  2636,     0,   908,     0,     0,     0,     0,     0,     0,
    5659             :        0,  2637,     0,     0,     0,     0,   915,     0,  2638,     0,
    5660             :     2643,     0,     0,     0,     0,   908,     0,   915,     0,     0,
    5661             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5662             :        0,     0,     0,   915,  2639,     0,     0,     0,     0,     0,
    5663             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4492,
    5664             :        0,     0,   907,  2373,     0,     0,     0,     0,     0,     0,
    5665             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5666             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5667             :        0,     0,   910,     0,     0,     0,     0,     0,     0,     0,
    5668             :        0,     0,     0,  4514,     0,     0,  4902,   908,  4903,     0,
    5669             :        0,     0,     0,     0,   907,     0,     0,     0,     0,     0,
    5670             :        0,  4910,     0,     0,     0,     0,     0,     0,     0,     0,
    5671             :        0,     0,     0,  4916,     0,     0,   910,  4919,     0,   907,
    5672             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4933,
    5673             :      911,     0,     0,     0,   911,   911,     0,     0,     0,   908,
    5674             :        0,     0,     0,  2640,   910,     0,     0,     0,  2641,  4959,
    5675             :        0,     0,     0,     0,     0,  2646,     0,     0,     0,     0,
    5676             :        0,     0,     0,     0,   908,     0,     0,  4963,     0,     0,
    5677             :        0,  2642,  2306,     0,     0,  4967,     0,     0,     0,  3647,
    5678             :      915,     0,     0,     0,     0,     0,     0,     0,     0,   911,
    5679             :        0,     0,     0,     0,     0,   911,     0,     0,     0,  2643,
    5680             :     5002,     0,     0,     0,  5006,     0,     0,     0,     0,     0,
    5681             :        0,     0,   910,     0,     0,     0,     0,     0,     0,  5016,
    5682             :     5017,  5018,  5019,  4657,     0,     0,     0,     0,     0,  5023,
    5683             :     5024,  5025,  5026,     0,   910,     0,     0,     0,  5028,  5029,
    5684             :        0,     0,  2373,   911,  5036,  5037,     0,  5039,  5040,  5041,
    5685             :     5042,  5043,  5044,  5045,     0,     0,   910,     0,  2644,     0,
    5686             :        0,  2645,  2574,  5054,     0,     0,     0,  5057,  5058,  5059,
    5687             :     5060,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5688             :      907,     0,     0,     0,  5716,     0,     0,     0,   975,     0,
    5689             :        0,  4333,     0,     0,     0,     0,     0,   975,     0,     0,
    5690             :        0,     0,     0,     0,     0,  4714,     0,     0,     0,  5080,
    5691             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    5692             :        0,     0,     0,     0,     0,   908,     0,     0,     0,     0,
    5693             :        0,     0,     0,     0,     0,     0,     0,     0,   910,     0,
    5694             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5695             :        0,     0,     0,     0,  2646,     0,     0,  4746,     0,     0,
    5696             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5697             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5698             :        0,     0,  4767,     0,     0,     0,  5162,     0,     0,     0,
    5699             :      910,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5700             :        0,     0,     0,     0,   907,     0,     0,     0,     0,     0,
    5701             :        0,     0,     0,     0,     0,   910,     0,     0,     0,  4333,
    5702             :        0,   908,     0,     0,     0,     0,  5187,     0,  5188,     0,
    5703             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5704             :        0,   915,     0,     0,   905,     0,     0,     0,     0,   908,
    5705             :        0,     0,     0,   911,     0,     0,  5203,     0,     0,     0,
    5706             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    5707             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    5708             :        0,     0,     0,  6080,     0,     0,     0,     0,     0,     0,
    5709             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5710             :        0,     0,     0,     0,     0,     0,     0,     0,   915,     0,
    5711             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    5712             :     2115,     0,     0,     0,     0,     0,   911,     0,     0,     0,
    5713             :      911,     0,     0,     0,     0,     0,  2636,     0,     0,     0,
    5714             :        0,     0,     0,     0,     0,     0,  2637,   907,     0,   915,
    5715             :        0,     0,     0,  2638,     0,     0,     0,     0,  2111,     0,
    5716             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,
    5717             :        0,     0,     0,     0,     0,     0,   910,     0,     0,  2639,
    5718             :        0,     0,   915,  2636,     0,     0,     0,   966,   976,     0,
    5719             :        0,     0,   908,  2637,   907,   966,     0,   976,   966,   907,
    5720             :     2638,     0,     0,   913,     0,     0,     0,   913,   913,     0,
    5721             :        0,   976,     0,     0,     0,     0,     0,     0,     0,     0,
    5722             :        0,     0,     0,     0,     0,     0,  2639,     0,     0,     0,
    5723             :        0,     0,     0,   911,     0,     0,     0,     0,     0,   908,
    5724             :        0,     0,     0,     0,   908,     0,     0,     0,   911,     0,
    5725             :        0,     0,     0,   911,     0,     0,     0,     0,     0,     0,
    5726             :        0,     0,   913,     0,     0,     0,     0,     0,   913,  5349,
    5727             :     5350,  5351,   910,     0,     0,  5352,  5353,  5354,  5355,     0,
    5728             :        0,     0,  5357,   911,     0,     0,     0,     0,     0,     0,
    5729             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,     0,
    5730             :      910,     0,     0,  2641,     0,     0,     0,     0,     0,     0,
    5731             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    5732             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    5733             :        0,     0,     0,     0,  5392,  5393,  5394,  5395,  5396,     0,
    5734             :     5398,  5399,     0,     0,     0,  2640,   975,     0,     0,     0,
    5735             :     2641,     0,  5408,  5409,  2643,     0,     0,   907,     0,     0,
    5736             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    5737             :        0,   975,     0,  2642,  2306,     0,   915,     0,     0,     0,
    5738             :        0,     0,     0,   975,     0,     0,  5415,   915,     0,     0,
    5739             :        0,     0,     0,     0,     0,     0,     0,  2373,     0,   975,
    5740             :        0,  2643,   908,   915,     0,     0,     0,     0,     0,     0,
    5741             :     5110,     0,     0,  2644,   975,     0,  2645,     0,     0,     0,
    5742             :        0,     0,   975,     0,     0,     0,     0,     0,     0,     0,
    5743             :        0,     0,     0,     0,     0,     0,   975,     0,     0,     0,
    5744             :        0,     0,     0,   910,  2373,     0,   975,     0,     0,     0,
    5745             :        0,     0,     0,     0,     0,     0,     0,   915,     0,     0,
    5746             :     2644,     0,     0,  2645,     0,     0,     0,     0,     0,     0,
    5747             :        0,     0,   915,     0,   907,   915,   915,     0,     0,     0,
    5748             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5480,
    5749             :      910,     0,     0,     0,     0,   910,     0,     0,     0,   975,
    5750             :        0,     0,     0,     0,     0,     0,   915,   915,     0,  2646,
    5751             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   908,
    5752             :        0,     0,     0,     0,     0,     0,   913,   975,   907,     0,
    5753             :        0,     0,     0,     0,     0,     0,     0,     0,   911,     0,
    5754             :        0,   911,     0,   911,     0,     0,     0,     0,   911,     0,
    5755             :      907,     0,   975,     0,  5531,     0,  2646,     0,     0,     0,
    5756             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5757             :        0,     0,     0,   908,     0,     0,     0,     0,     0,     0,
    5758             :        0,     0,     0,     0,     0,     0,  5537,     0,     0,     0,
    5759             :      911,     0,     0,     0,     0,   908,     0,     0,   911,   913,
    5760             :        0,     0,     0,   913,     0,     0,     0,     0,     0,     0,
    5761             :        0,     0,     0,     0,   975,     0,  2574,     0,     0,     0,
    5762             :        0,     0,   907,   911,     0,  2575,  2576,  2577,  2578,  2579,
    5763             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,  6088,     0,
    5764             :        0,     0,     0,     0,     0,     0,   976,     0,   915,     0,
    5765             :        0,     0,     0,   910,     0,     0,     0,     0,     0,     0,
    5766             :        0,     0,     0,  2574,     0,   976,     0,   908,     0,     0,
    5767             :        0,   976,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    5768             :     2583,     0,     0,   976,   661,  6110,     0,     0,     0,     0,
    5769             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    5770             :        0,     0,     0,   911,     0,   911,   913,     0,     0,     0,
    5771             :        0,     0,     0,   966,   976,     0,     0,     0,     0,     0,
    5772             :      966,   913,   976,   966,  1823,     0,   913,     0,     0,     0,
    5773             :        0,   975,     0,     0,     0,     0,   976,  5348,     0,     0,
    5774             :        0,     0,     0,     0,   907,     0,   976,     0,     0,     0,
    5775             :        0,     0,     0,     0,     0,  5664,   913,     0,     0,     0,
    5776             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5777             :      910,     0,     0,     0,  5674,     0,     0,     0,     0,     0,
    5778             :     5680,  5681,     0,     0,     0,     0,     0,     0,     0,   908,
    5779             :     5692,  5386,     0,     0,     0,     0,     0,  5694,     0,   976,
    5780             :        0,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5781             :        0,     0,     0,  5402,     0,     0,  1579,     0,     0,     0,
    5782             :        0,     0,  1580,  2111,   910,     0,  2112,   976,     0,  1646,
    5783             :     2113,  2114,  2115,     0,  5747,  5748,     0,     0,     0,     0,
    5784             :        0,     0,     0,     0,     0,   911,   910,  5756,  2636,  5758,
    5785             :        0,  1647,   976,     0,     0,   975,     0,     0,  2637,     0,
    5786             :        0,     0,     0,     0,  5772,  2638,     0,  1582,     0,     0,
    5787             :        0,     0,     0,   911,     0,     0,     0,     0,     0,     0,
    5788             :        0,     0,     0,   907,     0,  5430,     0,     0,     0,  4333,
    5789             :        0,  2639,     0,     0,     0,     0,     0,  5806,     0,     0,
    5790             :        0,     0,     0,  1648,     0,     0,     0,     0,     0,     0,
    5791             :        0,     0,     0,     0,   976,     0,   975,     0,   910,     0,
    5792             :        0,     0,     0,     0,  1583,     0,     0,   975,   908,     0,
    5793             :        0,  1584,     0,     0,     0,  1585,     0,     0,     0,     0,
    5794             :        0,   911,     0,     0,   975,     0,     0,     0,     0,   975,
    5795             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   907,
    5796             :        0,     0,     0,   911,  1586,     0,     0,     0,     0,     0,
    5797             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5798             :        0,     0,     0,     0,     0,   911,     0,     0,     0,  5867,
    5799             :        0,     0,     0,     0,     0,     0,  1649,     0,     0,     0,
    5800             :     1587,     0,     0,  5882,   908,     0,     0,  5516,     0,     0,
    5801             :     2640,   913,     0,     0,   913,  2641,   913,     0,     0,     0,
    5802             :        0,   913,     0,     0,  1824,     0,     0,     0,     0,  5900,
    5803             :        0,   976,     0,     0,     0,     0,     0,     0,  2642,  2306,
    5804             :      910,     0,   966,     0,     0,     0,   966,     0,   966,     0,
    5805             :        0,     0,     0,     0,  1650,     0,     0,     0,     0,  1651,
    5806             :        0,     0,     0,   913,  1652,     0,  2643,   911,     0,     0,
    5807             :        0,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5808             :     1653,   907,   975,     0,  1589,     0,     0,     0,     0,     0,
    5809             :      975,   975,     0,     0,     0,  1590,   913,  5959,     0,     0,
    5810             :        0,     0,     0,     0,     0,  1591,     0,     0,     0,  2373,
    5811             :        0,     0,     0,     0,     0,     0,  1654,  1592,     0,   911,
    5812             :        0,     0,     0,     0,     0,  2644,   908,     0,  2645,     0,
    5813             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5814             :        0,     0,     0,  1823,   911,     0,  4492,     0,     0,     0,
    5815             :        0,     0,     0,     0,     0,   976,     0,     0,     0,  1655,
    5816             :        0,     0,  1594,  1595,  1656,     0,     0,  4333,     0,     0,
    5817             :        0,     0,     0,     0,     0,     0,   913,     0,   913,   910,
    5818             :        0,     0,  2111,     0,     0,  2112,     0,     0,  1657,  2113,
    5819             :     2114,  2115,     0,     0,  1658,     0,     0,     0,     0,     0,
    5820             :        0,  6039,     0,     0,     0,     0,     0,  2636,     0,  1659,
    5821             :        0,     0,     0,     0,     0,     0,   976,  2637,     0,     0,
    5822             :        0,  2646,     0,     0,  2638,     0,     0,   976,     0,     0,
    5823             :        0,     0,     0,     0,     0,     0,   907,     0,     0,     0,
    5824             :        0,   907,   907,     0,   976,     0,     0,  6070,     0,   976,
    5825             :     2639,     0,     0,     0,     0,   910,     0,   979,     0,     0,
    5826             :     1660,     0,     0,     0,     0,     0,     0,  1597,     0,  1013,
    5827             :        0,   915,  6089,     0,   913,   915,   915,     0,     0,     0,
    5828             :     1032,   908,     0,     0,     0,     0,   908,   908,     0,     0,
    5829             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5830             :        0,     0,     0,     0,     0,   911,     0,     0,     0,     0,
    5831             :        0,     0,     0,     0,     0,     0,     0,     0,   913,     0,
    5832             :        0,     0,     0,     0,     0,     0,     0,     0,  2574,     0,
    5833             :      915,  6128,     0,     0,     0,     0,   915,  2575,  2576,  2577,
    5834             :     2578,  2579,  2580,  2581,  2582,  2583,   913,     0,     0,     0,
    5835             :     6338,     0,     0,     0,     0,   907,     0,     0,     0,     0,
    5836             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2640,
    5837             :        0,     0,     0,     0,  2641,     0,     0,   910,     0,     0,
    5838             :        0,     0,   976,     0,   915,     0,     0,     0,     0,     0,
    5839             :      976,   976,     0,     0,   975,     0,     0,  2642,  2306,     0,
    5840             :      908,   911,     0,     0,     0,     0,     0,     0,     0,     0,
    5841             :        0,     0,     0,     0,   913,     0,     0,     0,   907,     0,
    5842             :        0,     0,     0,     0,     0,  2643,     0,     0,     0,   911,
    5843             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    5844             :        0,     0,     0,  1824,     0,     0,  6225,  2111,     0,     0,
    5845             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,   913,     0,
    5846             :        0,     0,     0,   908,     0,     0,     0,     0,  2373,     0,
    5847             :        0,     0,  2636,     0,     0,  6240,     0,     0,     0,     0,
    5848             :        0,     0,  2637,     0,  2644,     0,  6250,  2645,     0,  2638,
    5849             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2031,
    5850             :        0,     0,     0,     0,  2031,  2031,     0,     0,     0,   975,
    5851             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    5852             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5853             :        0,     0,   910,     0,     0,     0,     0,   910,   910,     0,
    5854             :      913,     0,     0,     0,  1823,     0,     0,   953,   955,     0,
    5855             :        0,   958,     0,     0,     0,     0,     0,     0,     0,     0,
    5856             :        0,     0,     0,     0,     0,     0,     0,   975,     0,     0,
    5857             :        0,  1016,   911,     0,     0,   975,     0,     0,  1026,     0,
    5858             :     2646,     0,     0,   975,     0,     0,     0,     0,     0,     0,
    5859             :        0,     0,   913,     0,   915,     0,     0,     0,     0,     0,
    5860             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5861             :        0,     0,     0,  6332,     0,     0,     0,   913,  5992,   911,
    5862             :        0,     0,     0,     0,   911,     0,     0,   975,   975,     0,
    5863             :        0,     0,     0,     0,  2640,     0,     0,     0,     0,  2641,
    5864             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    5865             :        0,   910,     0,     0,   975,   975,     0,     0,     0,     0,
    5866             :        0,     0,  2642,  2306,     0,     0,     0,   915,     0,     0,
    5867             :        0,   915,     0,     0,     0,     0,     0,     0,     0,     0,
    5868             :        0,  6048,     0,     0,     0,     0,     0,  2574,     0,     0,
    5869             :     2643,     0,     0,     0,   976,     0,  2575,  2576,  2577,  2578,
    5870             :     2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,  6355,
    5871             :        0,     0,     0,     0,   910,  1052,     0,     0,     0,     0,
    5872             :        0,  1084,     0,     0,     0,     0,     0,     0,     0,     0,
    5873             :        0,     0,     0,  2373,     0,     0,     0,     0,     0,     0,
    5874             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2644,
    5875             :        0,     0,  2645,     0,     0,     0,     0,     0,     0,     0,
    5876             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5877             :        0,     0,     0,     0,   915,     0,     0,     0,   913,     0,
    5878             :        0,     0,   911,     0,     0,     0,     0,     0,     0,   915,
    5879             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5880             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    5881             :        0,     0,     0,     0,  1823,     0,     0,     0,     0,     0,
    5882             :        0,     0,     0,     0,   915,  6476,     0,     0,     0,     0,
    5883             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5884             :        0,     0,     0,     0,  1824,  2646,     0,     0,     0,     0,
    5885             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5886             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    5887             :        0,     0,     0,     0,   913,   976,     0,     0,     0,     0,
    5888             :        0,     0,     0,   976,     0,     0,     0,     0,     0,     0,
    5889             :        0,     0,  1393,     0,     0,     0,     0,     0,     0,   911,
    5890             :        0,     0,   913,     0,     0,     0,     0,     0,     0,     0,
    5891             :        0,  1416,     0,     0,     0,     0,     0,     0,     0,     0,
    5892             :        0,     0,     0,     0,   966,   966,     0,   976,   976,     0,
    5893             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   966,
    5894             :      907,   976,   966,     0,     0,     0,     0,     0,     0,     0,
    5895             :        0,     0,  2574,   911,   976,   976,     0,     0,     0,     0,
    5896             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    5897             :     2111,     0,     0,  2112,  6414,   911,     0,  2113,  2114,  2115,
    5898             :        0,     0,     0,     0,     0,   908,     0,     0,     0,     0,
    5899             :        0,     0,   966,     0,     0,  2636,   966,   966,     0,     0,
    5900             :        0,     0,     0,     0,     0,  2637,     0,     0,     0,     0,
    5901             :        0,     0,  2638,     0,     0,     0,     0,     0,     0,     0,
    5902             :        0,     0,     0,  1086,     0,  1089,     0,     0,  1091,     0,
    5903             :     1610,     0,     0,     0,     0,     0,     0,     0,  2639,     0,
    5904             :        0,     0,  1117,  2111,     0,   913,  2112,   911,  1121,     0,
    5905             :     2113,  2114,  2115,     0,     0,     0,     0,     0,     0,     0,
    5906             :        0,     0,     0,     0,     0,     0,     0,     0,  2636,     0,
    5907             :        0,     0,     0,     0,     0,     0,     0,     0,  2637,   915,
    5908             :        0,     0,   915,     0,   915,  2638,     0,     0,     0,   915,
    5909             :        0,     0,   913,     0,     0,     0,     0,   913,     0,     0,
    5910             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5911             :        0,  2639,     0,     0,  1824,     0,     0,     0,     0,     0,
    5912             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5913             :        0,   915,     0,     0,     0,     0,     0,     0,     0,   915,
    5914             :        0,     0,     0,     0,     0,  1873,     0,     0,     0,     0,
    5915             :        0,     0,     0,     0,     0,     0,     0,  2640,     0,     0,
    5916             :        0,     0,  2641,     0,   915,     0,     0,     0,     0,   911,
    5917             :        0,     0,     0,     0,  1907,  1910,  1911,     0,     0,     0,
    5918             :        0,     0,     0,     0,     0,  2642,  2306,     0,     0,     0,
    5919             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5920             :        0,     0,     0,  6412,     0,  4144,     0,     0,     0,     0,
    5921             :        0,  4145,     0,  2643,     0,     0,     0,     0,     0,     0,
    5922             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5923             :     2640,     0,     0,     0,     0,  2641,   910,     0,     0,     0,
    5924             :        0,     0,     0,     0,   915,     0,   915,     0,     0,     0,
    5925             :        0,     0,     0,     0,     0,   913,  2373,     0,  2642,  2306,
    5926             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5927             :        0,     0,  2644,     0,     0,  2645,     0,     0,     0,     0,
    5928             :        0,     0,     0,  1393,     0,  2111,  2643,     0,  2112,     0,
    5929             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    5930             :        0,     0,     0,     0,     0,     0,     0,     0,   911,     0,
    5931             :     2636,  1393,     0,     0,  3495,     0,     0,     0,     0,     0,
    5932             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,  2373,
    5933             :        0,     0,     0,     0,     0,  1611,  1612,     0,     0,     0,
    5934             :        0,     0,   915,     0,     0,  2644,     0,     0,  2645,     0,
    5935             :        0,     0,     0,  2639,  1823,     0,     0,     0,     0,     0,
    5936             :        0,     0,     0,     0,     0,     0,     0,     0,  2646,     0,
    5937             :        0,     0,   913,     0,     0,     0,     0,     0,     0,     0,
    5938             :        0,     0,     0,     0,   911,     0,   915,     0,     0,     0,
    5939             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5940             :        0,     0,     0,     0,     0,  3496,  1841,     0,     0,   975,
    5941             :        0,     0,     0,     0,   915,     0,     0,     0,     0,     0,
    5942             :        0,  1853,     0,     0,     0,     0,   913,   975,     0,     0,
    5943             :        0,   975,     0,     0,     0,   975,     0,     0,     0,     0,
    5944             :        0,  4146,     0,     0,   975,     0,     0,     0,   913,     0,
    5945             :        0,     0,  1875,  1876,     0,     0,     0,     0,     0,   975,
    5946             :        0,     0,     0,     0,  2630,     0,     0,     0,     0,     0,
    5947             :        0,     0,  2640,     0,     0,  2574,     0,  2641,  1913,     0,
    5948             :        0,     0,   915,     0,  2575,  2576,  2577,  2578,  2579,  2580,
    5949             :     2581,  2582,  2583,   975,     0,  3029,     0,     0,     0,     0,
    5950             :     2642,  2306,     0,     0,   915,     0,   911,     0,     0,     0,
    5951             :        0,     0,     0,   975,   975,     0,     0,     0,  1951,  1953,
    5952             :      913,     0,     0,     0,     0,     0,   915,     0,  2643,     0,
    5953             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5954             :        0,     0,     0,     0,  2721,     0,     0,     0,  2574,     0,
    5955             :        0,  1823,   975,     0,     0,  1823,     0,  2575,  2576,  2577,
    5956             :     2578,  2579,  2580,  2581,  2582,  2583,     0,     0,     0,     0,
    5957             :        0,  2373,     0,     0,     0,     0,     0,     0,     0,   975,
    5958             :        0,  1823,     0,     0,     0,   975,     0,  2644,     0,     0,
    5959             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,   975,
    5960             :        0,     0,     0,     0,     0,     0,   975,     0,   915,   975,
    5961             :        0,     0,     0,     0,     0,   975,     0,     0,     0,     0,
    5962             :        0,     0,     0,     0,     0,     0,     0,  2835,     0,     0,
    5963             :        0,     0,     0,     0,     0,   975,  2865,     0,     0,     0,
    5964             :        0,   975,   913,     0,     0,     0,     0,     0,   975,     0,
    5965             :        0,     0,     0,     0,  1824,     0,     0,     0,     0,     0,
    5966             :      915,   911,   975,     0,     0,     0,   911,   911,  2903,     0,
    5967             :        0,     0,     0,     0,  2915,  2915,   975,     0,  2915,     0,
    5968             :        0,  1823,     0,  2646,     0,   915,     0,   975,     0,     0,
    5969             :        0,  2933,     0,     0,  2936,     0,     0,     0,     0,     0,
    5970             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    5971             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    5972             :        0,     0,     0,     0,     0,     0,     0,   976,     0,     0,
    5973             :        0,   976,     0,     0,     0,   976,     0,     0,     0,     0,
    5974             :        0,     0,     0,     0,   976,     0,     0,  1823,  3497,     0,
    5975             :        0,     0,  2989,     0,     0,     0,     0,     0,     0,   976,
    5976             :        0,     0,     0,     0,     0,     0,  3009,     0,     0,     0,
    5977             :        0,     0,     0,     0,     0,     0,   966,     0,   966,   966,
    5978             :      911,   913,     0,     0,     0,     0,     0,     0,     0,     0,
    5979             :     2574,     0,     0,   976,     0,     0,     0,     0,     0,  2575,
    5980             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    5981             :        0,     0,     0,   976,   976,     0,     0,     0,     0,     0,
    5982             :        0,     0,     0,     0,     0,     0,     0,     0,  2111,     0,
    5983             :        0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,
    5984             :        0,     0,     0,   911,     0,     0,   915,     0,     0,     0,
    5985             :        0,  1824,   976,  2636,     0,  1824,     0,   913,     0,     0,
    5986             :        0,     0,     0,  2637,     0,     0,     0,     0,     0,     0,
    5987             :     2638,     0,     0,     0,     0,     0,  3031,     0,     0,   976,
    5988             :        0,  1824,     0,     0,     0,   976,     0,  3034,     0,     0,
    5989             :        0,     0,     0,     0,     0,     0,  2639,     0,     0,   976,
    5990             :        0,     0,   975,     0,  1823,     0,   976,     0,     0,   976,
    5991             :        0,     0,     0,     0,  2823,   976,     0,     0,     0,     0,
    5992             :        0,   975,     0,     0,     0,     0,     0,     0,   975,  3078,
    5993             :     2915,     0,     0,     0,     0,   976,     0,     0,     0,  2869,
    5994             :        0,   976,   915,     0,     0,     0,     0,     0,   976,     0,
    5995             :        0,     0,     0,     0,  3113,     0,     0,     0,     0,     0,
    5996             :        0,  3126,   976,     0,     0,     0,     0,     0,     0,     0,
    5997             :      915,     0,     0,     0,     0,     0,   976,     0,     0,   913,
    5998             :        0,  1824,     0,     0,     0,     0,     0,   976,     0,  6175,
    5999             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6000             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6001             :        0,     0,     0,     0,     0,  2640,     0,     0,  2959,     0,
    6002             :     2641,     0,     0,     0,     0,  1823,     0,     0,     0,     0,
    6003             :        0,  1823,     0,     0,  3187,     0,     0,     0,     0,     0,
    6004             :        0,     0,     0,  2642,  2306,     0,     0,  1824,  2985,  2986,
    6005             :     2987,  2988,     0,     0,     0,     0,     0,     0,     0,     0,
    6006             :        0,     0,     0,     0,     0,     0,     0,  1393,  1393,     0,
    6007             :        0,  2643,     0,     0,     0,     0,     0,     0,     0,     0,
    6008             :        0,     0,     0,     0,  3241,  2111,     0,  3243,  2112,     0,
    6009             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6010             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6011             :     2636,     0,     0,   915,  2373,     0,   975,     0,     0,     0,
    6012             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,     0,
    6013             :     2644,     0,     0,  2645,   913,     0,     0,     0,     0,   913,
    6014             :      913,     0,     0,     0,     0,     0,     0,     0,  2111,     0,
    6015             :        0,  2112,     0,  2639,     0,  2113,  2114,  2115,     0,  6176,
    6016             :      915,     0,     0,     0,     0,   915,     0,     0,     0,     0,
    6017             :        0,     0,     0,  2636,     0,     0,  4072,     0,     0,     0,
    6018             :        0,     0,     0,  2637,     0,     0,     0,     0,     0,     0,
    6019             :     2638,     0,     0,     0,     0,  3042,  3043,     0,     0,     0,
    6020             :        0,     0,   976,     0,  1824,     0,     0,     0,     0,     0,
    6021             :        0,  3060,     0,     0,     0,     0,  2639,     0,     0,     0,
    6022             :        0,   976,     0,     0,     0,     0,  2646,     0,   976,     0,
    6023             :        0,     0,     0,     0,     0,   966,     0,   966,   966,     0,
    6024             :        0,     0,     0,     0,     0,  3103,  3104,  3105,  3106,   975,
    6025             :      975,     0,     0,   913,  2111,     0,     0,  2112,     0,     0,
    6026             :        0,  2113,  2114,  2115,     0,     0,     0,     0,     0,     0,
    6027             :      975,     0,  2640,   975,     0,     0,     0,  2641,     0,  2636,
    6028             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2637,
    6029             :        0,     0,     0,     0,     0,     0,  2638,     0,     0,     0,
    6030             :     2642,  2306,     0,     0,     0,     0,     0,     0,     0,     0,
    6031             :        0,     0,     0,     0,     0,     0,   913,     0,     0,     0,
    6032             :        0,     0,  2639,   915,     0,  1824,  3180,     0,  2643,     0,
    6033             :        0,  1824,  3184,  2574,     0,  2640,     0,     0,     0,     0,
    6034             :     2641,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6035             :     2583,     0,     0,     0,     0,  1823,  1823,  1823,     0,     0,
    6036             :        0,     0,     0,  2642,  2306,   911,     0,     0,     0,     0,
    6037             :        0,  2373,     0,     0,     0,     0,     0,     0,     0,     0,
    6038             :      975,     0,     0,     0,     0,     0,     0,  2644,     0,     0,
    6039             :     2645,  2643,     0,     0,     0,     0,     0,     0,     0,   975,
    6040             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6041             :        0,     0,     0,     0,     0,     0,   976,     0,  4780,     0,
    6042             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6043             :        0,     0,     0,     0,  2373,     0,  1579,     0,     0,     0,
    6044             :      915,  2640,  1580,     0,     0,     0,  2641,     0,     0,  1646,
    6045             :     2644,     0,     0,  2645,     0,     0,     0,     0,     0,     0,
    6046             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2642,
    6047             :     2306,  1647,     0,     0,     0,     0,     0,     0,     0,     0,
    6048             :        0,     0,     0,  2646,     0,     0,     0,  1582,     0,     0,
    6049             :        0,     0,     0,     0,   915,     0,     0,  2643,     0,     0,
    6050             :        0,     0,  4781,     0,     0,     0,     0,     0,     0,     0,
    6051             :        0,   975,     0,     0,     0,     0,   915,     0,     0,     0,
    6052             :     3368,     0,     0,  1648,     0,     0,     0,     0,     0,     0,
    6053             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6054             :     2373,     0,     0,     0,  1583,     0,  2646,     0,     0,   976,
    6055             :      976,  1584,     0,     0,     0,  1585,  2644,     0,  1823,  2645,
    6056             :        0,     0,     0,     0,   975,     0,   975,     0,     0,     0,
    6057             :      976,     0,     0,   976,     0,     0,     0,     0,     0,   975,
    6058             :        0,   975,     0,     0,  1586,     0,     0,     0,   915,     0,
    6059             :     2574,     0,     0,     0,     0,     0,     0,     0,     0,  2575,
    6060             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6061             :        0,     0,     0,     0,     0,     0,  1649,     0,     0,     0,
    6062             :     1587,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6063             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6064             :        0,     0,     0,     0,  3426,     0,     0,     0,   975,     0,
    6065             :        0,     0,  2646,  2574,  3431,  1824,  1824,  1824,     0,     0,
    6066             :        0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6067             :     2583,     0,     0,     0,  1650,     0,     0,     0,     0,  1651,
    6068             :      976,     0,     0,     0,  1652,     0,     0,     0,     0,     0,
    6069             :      975,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6070             :     1653,     0,     0,     0,  1589,     0,     0,     0,     0,   975,
    6071             :      915,     0,     0,   975,     0,  1590,     0,     0,     0,     0,
    6072             :        0,   976,     0,     0,     0,  1591,     0,     0,     0,     0,
    6073             :        0,     0,     0,     0,   975,     0,  1654,  1592,     0,     0,
    6074             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6075             :        0,     0,     0,     0,     0,     0,     0,     0,  4081,  2574,
    6076             :        0,     0,     0,     0,  1393,     0,     0,     0,  2575,  2576,
    6077             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,  3750,
    6078             :        0,     0,  1594,  1595,  1656,  2111,     0,     0,  2112,     0,
    6079             :        0,     0,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6080             :        0,     0,     0,     0,     0,     0,     0,     0,  1657,     0,
    6081             :     2636,   976,     0,     0,  3751,     0,     0,     0,     0,     0,
    6082             :     2637,     0,     0,     0,     0,     0,     0,  2638,     0,  1659,
    6083             :        0,     0,     0,     0,     0,     0,     0,     0,   913,     0,
    6084             :        0,     0,  1823,     0,     0,     0,     0,     0,     0,   915,
    6085             :        0,     0,     0,  2639,     0,     0,     0,  -136,  1824,     0,
    6086             :        0,     0,     0,     0,   976,     0,   976,     0,     0,     0,
    6087             :        0,     0,     0,     0,     0,     0,     0,     1,     0,   976,
    6088             :     1660,   976,     0,     0,     0,     0,     0,  1597,     2,     0,
    6089             :        3,     4,     0,     0,     0,     0,     0,     0,     0,     0,
    6090             :        0,  3651,     0,     0,     0,     0,     0,     0,     5,     0,
    6091             :        0,     0,     0,     0,     0,     0,  3673,     0,     6,     0,
    6092             :        0,     0,     0,     0,     0,   915,     0,     0,     0,     0,
    6093             :        7,     0,     8,     9,     0,     0,     0,     0,  3701,    10,
    6094             :        0,    11,     0,     0,     0,     0,     0,     0,   976,     0,
    6095             :        0,     0,     0,     0,    12,     0,    13,     0,     0,     0,
    6096             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    6097             :     2115,     0,  2640,    14,     0,     0,    15,  2641,     0,     0,
    6098             :        0,     0,     0,     0,     0,     0,  2636,     0,  3368,  4149,
    6099             :      976,    16,     0,    17,     0,     0,  2637,    18,     0,     0,
    6100             :     2642,  2306,     0,  2638,    19,     0,     0,     0,     0,   976,
    6101             :        0,     0,     0,   976,    20,     0,    21,   975,     0,     0,
    6102             :        0,     0,     0,    22,  3781,  3782,     0,     0,  2643,  2639,
    6103             :        0,     0,     0,     0,   976,     0,     0,     0,     0,     0,
    6104             :        0,    23,     0,     0,     0,     0,     0,   915,     0,     0,
    6105             :        0,     0,     0,     0,     0,     0,     0,     0,    24,     0,
    6106             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6107             :        0,  2373,     0,     0,     0,  1368,  1368,     0,     0,     0,
    6108             :        0,  1823,     0,     0,     0,     0,  1823,  2644,  1823,     0,
    6109             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,  2111,
    6110             :        0,     0,  2112,     0,     0,     0,  2113,  2114,  2115,     0,
    6111             :        0,  4117,    25,    26,  1823,     0,     0,     0,    27,     0,
    6112             :        0,     0,     0,     0,  2636,     0,  3907,     0,     0,     0,
    6113             :        0,     0,     0,    28,  2637,     0,     0,     0,     0,     0,
    6114             :        0,  2638,  1824,     0,     0,     0,     0,     0,  2640,     0,
    6115             :     3605,     0,    29,  2641,     0,  1368,     0,     0,     0,     0,
    6116             :      975,     0,     0,   975,     0,     0,     0,  2639,     0,     0,
    6117             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    6118             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    6119             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6120             :        0,    30,   915,     0,  2643,     0,     0,   915,   915,     0,
    6121             :        0,     0,     0,     0,     0,     0,    31,     0,     0,     0,
    6122             :        0,    32,    33,     0,    34,     0,     0,     0,     0,    35,
    6123             :        0,     0,     0,     0,     0,    36,     0,     0,    37,     0,
    6124             :        0,     0,     0,     0,     0,    38,     0,  2373,     0,     0,
    6125             :        0,     0,    39,    40,   975,   975,     0,     0,     0,     0,
    6126             :       41,     0,     0,  2644,    42,   975,  2645,  4154,     0,     0,
    6127             :        0,     0,     0,     0,     0,    43,  1734,  1738,     0,     0,
    6128             :        0,     0,   975,     0,     0,     0,  2640,     0,     0,     0,
    6129             :     2574,  2641,    44,     0,     0,  3755,     0,     0,  3758,  2575,
    6130             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6131             :        0,     0,     0,    45,  2642,  2306,     0,   976,     0,     0,
    6132             :        0,   915,     0,     0,     0,    46,     0,     0,     0,     0,
    6133             :        0,    47,     0,     0,     0,     0,    48,     0,     0,     0,
    6134             :        0,     0,  2643,     0,     0,     0,     0,     0,  2111,     0,
    6135             :       49,  2112,     0,     0,     0,  2113,  2114,  2115,     0,  2646,
    6136             :        0,     0,     0,   975,     0,     0,  1823,     0,     0,     0,
    6137             :        0,  2585,     0,  2636,    50,     0,    51,    52,    53,    54,
    6138             :       55,  1824,     0,  2637,   915,  2373,  1824,  3853,  1824,     0,
    6139             :     2638,     0,     0,    56,     0,     0,  -136,     0,     0,     0,
    6140             :     3866,  2644,     0,     0,  2645,     0,     0,     0,  3875,     0,
    6141             :        0,     0,     0,     0,  1824,     0,  2639,     0,     0,     0,
    6142             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6143             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6144             :        0,     0,     0,     0,     0,     0,     0,  3919,     0,     0,
    6145             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6146             :      976,     0,     0,   976,     0,     0,  2574,     0,  3943,     0,
    6147             :     4215,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    6148             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,     0,     0,
    6149             :        0,  2111,     0,     0,  2112,     0,     0,  2646,  2113,  2114,
    6150             :     2115,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6151             :        0,  3998,     0,  4000,     0,  2055,  2636,     0,     0,  4161,
    6152             :        0,     0,     0,     0,     0,     0,  2637,     0,     0,     0,
    6153             :        0,     0,     0,  2638,     0,  2640,     0,     0,     0,     0,
    6154             :     2641,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6155             :        0,     0,     0,     0,   976,   976,     0,  2081,     0,  2639,
    6156             :        0,     0,     0,  2642,  2306,   976,     0,     0,     0,     0,
    6157             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6158             :        0,     0,   976,     0,     0,     0,  2100,  2101,  2102,     0,
    6159             :     2104,  2643,     0,     0,     0,     0,     0,     0,   975,     0,
    6160             :        0,  4055,     0,     0,  2574,     0,     0,     0,  4062,     0,
    6161             :        0,  2592,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6162             :     2582,  2583,     0,     0,     0,     0,     0,     0,     0,  2111,
    6163             :        0,     0,  2112,     0,  2373,     0,  2113,  2114,  2115,     0,
    6164             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6165             :     2644,     0,     0,  2645,  2636,     0,   975,  4787,     0,     0,
    6166             :        0,     0,     0,   976,  2637,     0,  1824,     0,   975,     0,
    6167             :        0,  2638,     0,     0,     0,     0,     0,     0,  2640,     0,
    6168             :        0,     0,     0,  2641,     0,     0,     0,     0,     0,     0,
    6169             :        0,     0,     0,     0,     0,     0,     0,  2639,     0,     0,
    6170             :        0,     0,   975,     0,     0,     0,  2642,  2306,     0,     0,
    6171             :        0,     0,     0,     0,  2688,     0,     0,  2111,  2700,  2705,
    6172             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6173             :        0,     0,     0,     0,  2643,     0,     0,  2585,     0,     0,
    6174             :        0,  2585,  2636,     0,     0,     0,  2646,     0,     0,     0,
    6175             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6176             :        0,     0,     0,     0,     0,  4435,     0,     0,     0,     0,
    6177             :        0,     0,     0,     0,     0,  2915,     0,  2373,     0,     0,
    6178             :        0,  1823,  4711,     0,     0,  2639,     0,     0,     0,     0,
    6179             :        0,     0,     0,  2644,     0,     0,  2645,     0,     0,     0,
    6180             :      975,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6181             :        0,     0,     0,     0,     0,     0,  2640,     0,     0,     0,
    6182             :        0,  2641,     0,     0,     0,     0,     0,     0,     0,     0,
    6183             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6184             :        0,     0,     0,     0,  2642,  2306,     0,     0,     0,     0,
    6185             :        0,     0,     0,  2574,     0,     0,     0,     0,     0,     0,
    6186             :        0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,
    6187             :     2583,     0,  2643,     0,     0,  2111,     0,     0,  2112,     0,
    6188             :        0,     0,  2113,  2114,  2115,     0,   975,     0,     0,  2646,
    6189             :        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
    6190             :     2636,     0,     0,     0,  2640,     0,   915,     0,     0,  2641,
    6191             :     2637,     0,     0,     0,     0,  2373,     0,  2638,     0,     0,
    6192             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6193             :        0,  2644,  2642,  2306,  2645,     0,     0,     0,  4567,  4568,
    6194             :     4569,     0,     0,  2639,     0,     0,     0,  4329,  4330,     0,
    6195             :        0,     0,     0,     0,     0,  4578,   976,     0,     0,     0,
    6196             :     2643,     0,     0,  1734,  1734,  1734,     0,     0,   976,     0,
    6197             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6198             :        0,     0,     0,     0,     0,     0,     0,     0,  4603,  4605,
    6199             :        0,     0,     0,  4610,     0,     0,  2574,     0,     0,     0,
    6200             :        0,     0,   976,  2373,     0,  2575,  2576,  2577,  2578,  2579,
    6201             :     2580,  2581,  2582,  2583,     0,     0,     0,     0,   975,  2644,
    6202             :      975,     0,  2645,     0,     0,     0,  2111,  2646,     0,  2112,
    6203             :        0,     0,     0,  2113,  2114,  2115,     0,     0,     0,  5231,
    6204             :        0,     0,     0,  5241,     0,     0,     0,     0,     0,     0,
    6205             :        0,  2636,     0,     0,     0,     0,     0,     0,  2585,     0,
    6206             :        0,  2637,  2640,     0,     0,     0,     0,  2641,  2638,     0,
    6207             :        0,   975,     0,     0,     0,     0,     0,     0,     0,     0,
    6208             :        0,  1824,     0,     0,  2585,     0,     0,     0,  3325,     0,
    6209             :     2642,  2306,     0,     0,  2639,     0,     0,     0,     0,  1393,
    6210             :      976,     0,     0,  2585,  2585,  2585,     0,  2585,     0,     0,
    6211             :        0,     0,     0,     0,     0,  2646,     0,     0,  2643,     0,
    6212             :        0,  1823,     0,     0,     0,     0,     0,     0,     0,  2111,
    6213             :        0,     0,  2112,     0,  2574,     0,  2113,  2114,  2115,     0,
    6214             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6215             :     2582,  2583,     0,     0,  2636,     0,     0,     0,     0,     0,
    6216             :        0,  2373,     0,     0,  2637,     0,     0,     0,     0,     0,
    6217             :        0,  2638,     0,     0,     0,     0,     0,  2644,     0,     0,
    6218             :     2645,     0,     0,     0,     0,     0,   976,     0,     0,     0,
    6219             :        0,     0,     0,     0,  5247,     0,     0,  2639,     0,     0,
    6220             :        0,  4515,     0,     0,     0,     0,     0,     0,     0,     0,
    6221             :        0,     0,     0,  2640,     0,     0,     0,     0,  2641,     0,
    6222             :        0,     0,  2574,     0,     0,     0,     0,     0,     0,     0,
    6223             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6224             :        0,  2642,  2306,     0,     0,     0,     0,     0,     0,     0,
    6225             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6226             :        0,     0,     0,     0,     0,  4819,  4820,  4821,     0,  2643,
    6227             :        0,     0,     0,  2646,     0,     0,     0,     0,     0,     0,
    6228             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6229             :        0,  5248,  3269,     0,     0,     0,     0,     0,     0,     0,
    6230             :        0,  3286,  3286,  3286,  3286,  3296,  3302,  3286,  3305,  3286,
    6231             :     3286,     0,  2373,     0,     0,  3312,  2640,  3313,   976,  3315,
    6232             :      976,  2641,  3329,  3332,  3337,     0,     0,     0,  2644,     0,
    6233             :     3346,  2645,     0,  3351,     0,     0,     0,     0,     0,     0,
    6234             :        0,     0,     0,     0,  2642,  2306,     0,     0,  3358,  3359,
    6235             :     3360,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6236             :        0,  4669,     0,     0,     0,   975,  3361,     0,     0,     0,
    6237             :        0,   976,  2643,     0,     0,     0,     0,     0,     0,   975,
    6238             :     2574,   966,     0,     0,     0,     0,     0,     0,     0,  2575,
    6239             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6240             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6241             :        0,  1823,     0,     0,     0,  2373,     0,     0,     0,     0,
    6242             :        0,  1824,     0,     0,  2646,     0,   966,     0,     0,     0,
    6243             :        0,  2644,     0,     0,  2645,     0,     0,  2111,     0,     0,
    6244             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6245             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6246             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    6247             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6248             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6249             :     1823,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6250             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    6251             :        0,     0,     0,     0,  3369,     0,     0,     0,     0,     0,
    6252             :        0,     0,     0,     0,     0,     0,  1823,  2646,     0,     0,
    6253             :        0,  2574,     0,     0,     0,     0,     0,     0,     0,     0,
    6254             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6255             :        0,  2111,     0,     0,  2112,     0,     0,     0,  2113,  2114,
    6256             :     2115,     0,     0,     0,     0,     0,     0,     0,  3388,     0,
    6257             :        0,     0,     0,     0,     0,     0,  2636,     0,  5249,     0,
    6258             :        0,     0,     0,     0,     0,     0,  2637,     0,     0,     0,
    6259             :        0,     0,     0,  2638,     0,  2585,     0,     0,     0,     0,
    6260             :        0,     0,  1823,  5091,     0,   975,     0,     0,     0,     0,
    6261             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  2639,
    6262             :        0,     0,     0,     0,  2640,  3390,     0,     0,     0,  2641,
    6263             :        0,     0,     0,     0,  2574,  5123,     0,     0,     0,     0,
    6264             :        0,     0,     0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,
    6265             :     2582,  2583,  2642,  2306,     0,     0,     0,     0,     0,     0,
    6266             :        0,     0,     0,     0,     0,   976,     0,  3126,     0,     0,
    6267             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   976,
    6268             :     2643,     0,     0,     0,     0,  2111,     0,     0,  2112,     0,
    6269             :        0,  2585,  2113,  2114,  2115,     0,     0,     0,     0,     0,
    6270             :        0,     0,  5181,  2585,     0,     0,     0,     0,  2585,     0,
    6271             :     2636,  1824,     0,     0,     0,     0,     0,     0,     0,  3187,
    6272             :     2637,     0,     0,  2373,     0,     0,     0,  2638,     0,     0,
    6273             :        0,     0,     0,     0,     0,     0,     0,     0,  2640,  2644,
    6274             :        0,     0,  2645,  2641,     0,     0,     0,     0,     0,     0,
    6275             :      975,     0,     0,  2639,     0,     0,     0,     0,     0,     0,
    6276             :        0,     0,     0,     0,     0,     0,  2642,  2306,     0,     0,
    6277             :        0,     0,     0,     0,   975,     0,     0,     0,     0,     0,
    6278             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6279             :     1824,     0,     0,     0,  2643,     0,     0,     0,     0,     0,
    6280             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6281             :     3397,  3398,  3399,  3400,  3401,  3402,  3403,  3404,  3405,     0,
    6282             :     3406,     0,     0,     0,     0,     0,  1824,     0,     0,     0,
    6283             :        0,  1368,     0,  1734,     0,  2646,     0,  2373,     0,     0,
    6284             :        0,     0,     0,     0,     0,     0,     0,  5820,     0,     0,
    6285             :        0,     0,     0,  2644,     0,     0,  2645,     0,     0,     0,
    6286             :        0,     0,     0,     0,  5284,  5285,  5286,  5287,     0,     0,
    6287             :        0,  3361,  2640,     0,     0,  3369,     0,  2641,  3388,  5077,
    6288             :     3390,     0,     0,  3443,     0,     0,     0,     0,     0,     0,
    6289             :        0,     0,     0,  5079,     0,     0,     0,     0,     0,     0,
    6290             :     2642,  2306,  1824,     0,     0,   976,     0,     0,     0,     0,
    6291             :        0,     0,     0,     0,   975,     0,     0,     0,     0,     0,
    6292             :        0,     0,     0,     0,     0,     0,     0,     0,  2643,     0,
    6293             :        0,     0,     0,     0,     0,     0,  2101,  2102,     0,     0,
    6294             :        0,     0,  2574,     0,     0,     0,     0,     0,     0,  2646,
    6295             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6296             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6297             :        0,  2373,     0,     0,     0,     0,  2111,     0,     0,  2112,
    6298             :        0,     0,     0,  2113,  2114,  2115,     0,  2644,     0,     0,
    6299             :     2645,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6300             :        0,  2636,     0,     0,  5837,     0,     0,     0,     0,     0,
    6301             :        0,  2637,     0,     0,     0,     0,  3583,     0,  2638,     0,
    6302             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6303             :     5629,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6304             :        0,     0,     0,     0,  2639,     0,     0,     0,     0,     0,
    6305             :      976,     0,     0,     0,     0,     0,  2574,     0,     0,     0,
    6306             :        0,     0,     0,     0,   966,  2575,  2576,  2577,  2578,  2579,
    6307             :     2580,  2581,  2582,  2583,   976,     0,     0,     0,  1823,     0,
    6308             :        0,     0,     0,  2646,     0,     0,     0,  2111,     0,     0,
    6309             :     2112,     0,     0,     0,  2113,  2114,  2115,     0,     0,     0,
    6310             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6311             :        0,     0,  2636,     0,     0,     0,     0,     0,     0,     0,
    6312             :        0,     0,  2637,     0,     0,     0,     0,     0,     0,  2638,
    6313             :        0,     0,     0,   966,   966,     0,     0,     0,     0,  1823,
    6314             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6315             :        0,     0,     0,     0,     0,  2639,     0,     0,     0,     0,
    6316             :        0,     0,     0,  2640,  1823,     0,     0,     0,  2641,     0,
    6317             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6318             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6319             :     2574,  2642,  2306,     0,     0,     0,     0,     0,     0,  2575,
    6320             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,     0,
    6321             :        0,     0,     0,     0,   976,     0,  5509,     0,     0,  2643,
    6322             :        0,     0,     0,     0,     0,     0,     0,  5519,     0,     0,
    6323             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6324             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6325             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3839,
    6326             :     3840,  1734,  2373,     0,     0,  3844,     0,     0,     0,     0,
    6327             :        0,     0,  2585,     0,  2640,     0,     0,     0,  2644,  2641,
    6328             :        0,  2645,     0,     0,     0,     0,     0,     0,     0,  2585,
    6329             :        0,     0,  3873,     0,     0,     0,     0,     0,     0,  2585,
    6330             :        0,     0,  2642,  2306,     0,  2585,     0,     0,  2585,     0,
    6331             :        0,     0,     0,     0,     0,  2585,  2585,     0,  2585,     0,
    6332             :        0,     0,     0,  3325,  3325,     0,  4140,     0,  3325,     0,
    6333             :     2643,     0,  2585,     0,     0,  2585,     0,     0,     0,     0,
    6334             :     2585,     0,     0,     0,     0,     0,     0,     0,     0,  2585,
    6335             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6336             :        0,  2585,  2585,  2585,  2585,     0,     0,     0,     0,  3325,
    6337             :     3325,     0,  2585,  2373,  2646,     0,     0,     0,  1824,     0,
    6338             :        0,  5423,     0,     0,     0,     0,     0,     0,     0,  2644,
    6339             :        0,  2585,  2645,  2585,     0,     0,  5427,     0,     0,     0,
    6340             :     2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,  2585,
    6341             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6342             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6343             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1824,
    6344             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6345             :        0,     0,   966,   966,     0,     0,     0,     0,     0,     0,
    6346             :        0,     0,     0,     0,  1824,     0,     0,     0,     0,     0,
    6347             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6348             :        0,  2574,     0,     0,     0,  2646,     0,     0,  5487,     0,
    6349             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,     0,
    6350             :        0,  4068,     0,     0,     0,     0,  4074,     0,     0,     0,
    6351             :        0,     0,     0,  5731,     0,     0,     0,     0,  1393,     0,
    6352             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6353             :        0,     0,     0,     0,     0,     1,     0,  5761,     0,     0,
    6354             :        0,     0,     0,     0,     0,     0,     2,     0,     3,     4,
    6355             :        0,     0,     0,     0,     0,     0,     0,  2104,     0,     0,
    6356             :        0,     0,     0,     0,     0,     0,     0,     0,  3337,     0,
    6357             :     3337,  3337,     0,     0,     0,     0,     6,     0,     0,     0,
    6358             :        0,     0,     0,     0,  4164,     0,  2585,  4167,     7,  4169,
    6359             :        8,     9,  2574,     0,     0,     0,     0,    10,     0,    11,
    6360             :        0,  2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,
    6361             :        0,     0,    12,     0,    13,     0,     0,     0,     0,     0,
    6362             :        0,     0,     0,   673,     0,     0,  4194,     0,  4197,     0,
    6363             :     4199,    14,     0,     0,    15,     0,     0,     0,     0,     0,
    6364             :        0,   674,     0,     0,     0,     0,     0,     0,     0,    16,
    6365             :        0,    17,     0,     0,     0,    18,     0,     0,     0,     0,
    6366             :        0,     0,  5786,     0,     0,     0,   675,     0,     0,     0,
    6367             :        0,     0,    20,     0,    21,     0,     0,     0,     0,   676,
    6368             :        0,    22,     0,     0,     0,     0,     0,     0,     0,     0,
    6369             :        0,     0,     0,     0,     0,     0,  -899,     0,     0,    23,
    6370             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6371             :        0,     0,     0,  5648,   677,  5650,    24,     0,     0,     0,
    6372             :      678,     0,     0,     0,  4269,     0,     0,     0,     0,  2688,
    6373             :        0,     0,     0,     0,     0,     0,     0,     0,   679,     0,
    6374             :        0,     0,     0,     0,  2705,     0,     0,     0,     0,     0,
    6375             :        0,     0,   680,     0,     0,     0,     0,     0,     0,     0,
    6376             :        0,   681,     0,     0,     0,     0,     0,     0,     0,     0,
    6377             :       25,    26,     0,     0,   682,     0,    27,     0,     0,     0,
    6378             :        0,     0,     0,   683,     0,     0,     0,   684,     0,     0,
    6379             :        0,    28,     0,     0,     0,     0,     0,     0,     0,     0,
    6380             :        0,  5966,     0,     0,     0,     0,     0, -1104,     0,  4319,
    6381             :       29,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6382             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5988,
    6383             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6384             :        0,     0,  2585,  2585,     0,     0,     0,  2585,     0,     0,
    6385             :        0,     0,     0,     0,     0,  5777,     0,   685,     0,    30,
    6386             :        0,     0,     0,     0,     0,     0,     0,  -630,     0,  4354,
    6387             :        0,     0,     0,     0,    31,     0,  2585,     0,     0,    32,
    6388             :       33,     0,    34,     0,     0,     0,     0,    35,     0,     0,
    6389             :     4641,     0,     0,    36,     0,     0,    37,     0,     0,     0,
    6390             :        0,     0,     0,    38,     0,     0,     0,     0,     0,     0,
    6391             :       39,    40,   686,     0,     0,   687,     0,     0,    41,     0,
    6392             :        0,     0,    42,     0,     0,     0,     0,     0,     0,     0,
    6393             :        0,     0,     0,    43,     0,     0,     0,     0,     0,   688,
    6394             :     6076,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6395             :       44,     0,     0,   689,     0,     0,     0,     0,     0,     0,
    6396             :     -468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6397             :        0,    45,     0,     0,     0,     0,     0,     0,     0,     0,
    6398             :      690,     0,     0,    46,     0,     0,     0,     0,     0,    47,
    6399             :      691,     0,     0,     0,    48,     0,     0,  -468,     0,     0,
    6400             :      692,     0,     0,     0,     0,     0,     0,     0,    49,     0,
    6401             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6402             :      693,     0,     0,     0,     0,     0,     0,     0,   694,     0,
    6403             :        0,     0,    50,     0,     0,  -468,     0,  5915,   695,  5917,
    6404             :      696,     0,   697,   698,     0,     0,     0,     0,     0,     0,
    6405             :        0,    56,     0,     0,  -136,     0,     0,     0,   699,     0,
    6406             :        0,     0,     0,     0,     0,     0,   700,     0,     0,   701,
    6407             :     1734,  2585,   702,     0,     0,     0,  1734,  2585,     0,     0,
    6408             :        0,     0,     0,     0,     0,  -468,     0,     0,     0,     0,
    6409             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6410             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6411             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6412             :        0,     0,     0,     0,  4140,  4140,     0,     0,  3325,  3325,
    6413             :     3325,  3325,     0,     0,  3325,  3325,  3325,  3325,  3325,  3325,
    6414             :     3325,  3325,  3325,  3325,  4140,     0,     0,     0,     0,     0,
    6415             :        0,   722,     0,     0,     0,  4590,  2792,     0,     0,     0,
    6416             :        0,     0,     0,     0,     0,     0,     0,  2585,     0,     0,
    6417             :     2585,     0,  2585,     0,     0,  4140,  4140,     0,     0,     0,
    6418             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6419             :        0,     0,     0,     0,  2793,     0,     0,  2585,  3325,  3325,
    6420             :     2585,     0,  2585,     0,     0,     0,     0,   725,     0,     0,
    6421             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6422             :        0,     0,     0,     0,   726,     0,     0,     0,     0,     0,
    6423             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6424             :        0,     0,  1059,     0,     0,     0,     0,     0,     0,     0,
    6425             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6426             :        0,     0,     0,     0,     0,     0,  2794,     0,     0,     0,
    6427             :        0,     0,  2585,     0,     0,     0,     0,     0,     0,     0,
    6428             :      729,     0,     0,     0,     0,     0,     0,     0,     0,   730,
    6429             :        0,     0,     0,     0,     0,     0,     0,   197,     0,     0,
    6430             :        0,     0,   731,     0,  4712,     0,     0,     0,  2795,     0,
    6431             :        0,  6124,     0,  4716,     0,     0,     0,     0,     0,     0,
    6432             :        0,     0,  2585,     0,     0,     0,     0,  3286,     0,     0,
    6433             :        0,  4729,  3286,  3286,     0,  1062,     0,     0,  3302,     0,
    6434             :        0,  4737,     0,     0,  4739,     0,     0,     0,   198,     0,
    6435             :     4741,     0,  4742,     0,     0,     0,     0,  2585,     0,     0,
    6436             :        0,     0,     0,     0,     0,   199,     0,     0,     0,     0,
    6437             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  4764,
    6438             :     4765,  4766,     0,   200,     0,     0,     0,     0,     0,   201,
    6439             :        0,     0,     0,     0,     0,   735,     0,     0,  3346,     0,
    6440             :        0,     0,     0,     0,     0,     0,  4790,   202,     0,  4793,
    6441             :        0,  4795,     0,     0,     0,     0,     0,     0,     0,     0,
    6442             :        0,   203,     0,     0,     0,     0,     0,  4799,     0,     0,
    6443             :      204,     0,     0,     0,     0,  4806,  4807,     0,     0,     0,
    6444             :     2796,     0,  4812,   205,  6231,     0,     0,     0,     0,   206,
    6445             :        0,     0,     0,     0,     0,     0,   207,     0,     0,     0,
    6446             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6447             :        0,  3286,     0,     0,     0,     0,   208,   213,  2797,     0,
    6448             :        0,   740,     0,     0,     0,     0,     0,     0,     0,     0,
    6449             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6450             :        0,     0,     0,     0,     0,     0,     0,     0,  1066,     0,
    6451             :        0,  2798,     0,     0,   209,     0,     0,     0,   744,     0,
    6452             :        0,     0,  4866,     0,     0,   745,     0,     0,   746,     0,
    6453             :        0,     0,     0,     0,     0,     0,   210,     0,     0,  4880,
    6454             :        0,     0,     0,     0,     0,     0,     0,     0,   747,  3325,
    6455             :        0,     0,     0,     0,     0,     0,  1068,     0,     0,     0,
    6456             :        0,     0,     0,   749,     0,     0,  1069,     0,     0,     0,
    6457             :        0,   751,     0,     0,     0,     0,  6326,     0,     0,  2799,
    6458             :        0,   211,     0,     0,     0,     0,  2800,     0,     0,     0,
    6459             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6460             :        0,     0,     0,     0,     0,     0,     0,     0,   212,  1117,
    6461             :     1117,     0,     0,   756,     0,     0,     0,     0,   213,   214,
    6462             :        0,     0,   215,     0,     0,     0,     0,     0,     0,     0,
    6463             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6464             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   216,
    6465             :        0,     0,   217,     0,     0,     0,   218,     0,     0,   219,
    6466             :        0,     0,     0,     0,     0,     0,   220,     0,     0,   221,
    6467             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6468             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   222,
    6469             :        0,     0,     0,     0,     0,     0,     0,   223,     0,     0,
    6470             :        0,     0,   224,     0,   225,     0,     0,   226,     0,     0,
    6471             :        0,     0,   227,     0,     0,  2585,     0,     0,     0,  2585,
    6472             :        0,     0,   228,     0,     0,     0,     0,   229,     0,     0,
    6473             :        0,     0,  2585,     0,     0,     0,  1117,     0,     0,     0,
    6474             :     2585,   230,  2585,     0,  2585,  2585,     0,     0,     0,     0,
    6475             :     4140,  4140,  4140,  4140,   231,     0,     0,  4140,  4140,  4140,
    6476             :     4140,  4140,  4140,  4140,  4140,  4140,  4140,  2585,  2585,  2585,
    6477             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6478             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6479             :        0,     0,     0,  2585,     0,     0,  2585,     0,  2585,     0,
    6480             :        0,     0,  2585,     0,     0,  4140,  4140,     0,     0,  2585,
    6481             :     2585,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6482             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6483             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6484             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6485             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6486             :        0,     0,     0,     0,     0,  5169,  5170,     0,     0,  2585,
    6487             :        0,     0,     0,     0,     0,     0,  5177,     0,     0,     0,
    6488             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6489             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6490             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6491             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6492             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6493             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6494             :        0,     0,     0,     0,     0,     0,  5220,     0,     0,     0,
    6495             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6496             :        0,     0,  2688,     0,     0,     0,     0,     0,     0,     0,
    6497             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6498             :     5243,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6499             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6500             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6501             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5262,
    6502             :     5264,     0,     0,     0,     0,     0,  5268,  5269,     0,     0,
    6503             :        0,  5270,     0,     0,     0,     0,  5271,     0,     0,  5274,
    6504             :     5275,     0,     0,     0,     0,     0,  5280,     0,     0,     0,
    6505             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6506             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6507             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6508             :        0,     0,     0,     0,  4140,     0,     0,     0,     0,     0,
    6509             :        0,  5315,     0,     0,     0,     0,     0,     0,     0,     0,
    6510             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6511             :     5330,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6512             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6513             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6514             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6515             :        0,     0,     0,     0,     0,     0,     0,  5360,     0,     0,
    6516             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6517             :        0,     0,  2585,  2585,     0,     0,     0,     0,     0,     0,
    6518             :     2585,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6519             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6520             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6521             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6522             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6523             :        0,     0,     0,     0,     0,     0,     0,     0,  5411,     0,
    6524             :        0,     0,     0,     0,     0,  5413,  2585,  3325,     0,     0,
    6525             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6526             :        0,     0,     0,     0,     0,  2585,     0,  2585,     0,     0,
    6527             :        0,  2585,  2585,  2585,  2585,     0,     0,  2585,  2585,     0,
    6528             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6529             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6530             :     3325,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6531             :        0,     0,     0,  5448,     0,     0,     0,     0,  2585,     0,
    6532             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6533             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6534             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6535             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6536             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6537             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6538             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6539             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6540             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6541             :        0,     0,     0,     0,  2585,     0,  2585,     0,     0,     0,
    6542             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6543             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6544             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6545             :        0,  2585,     0,     0,     0,     0,     0,     0,     0,     0,
    6546             :        0,     0,     0,     0,     0,     0,  3286,     0,     0,     0,
    6547             :        0,     0,     0,     0,     0,     0,  5556,     0,     0,     0,
    6548             :        0,     0,  5560,  5561,  5562,     0,     0,     0,     0,     0,
    6549             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6550             :        0,     0,     0,     0,     0,     0,     0,  5575,  5576,     0,
    6551             :        0,  5577,     0,     0,     0,     0,     0,     0,     0,     0,
    6552             :        0,     0,     0,     0,     0,     0,     0,     0,  5585,     0,
    6553             :        0,     0,     0,     0,     0,     0,     0,     0,  5597,     0,
    6554             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  5615,
    6555             :        0,     0,     0,     0,     0,     0,     0,  1368,     0,  2585,
    6556             :        0,  4140,  3325,  2585,  2585,  2585,  5634,     0,     0,     0,
    6557             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,  2585,
    6558             :     2585,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6559             :        0,     0,     0,  3325,     0,     0,  4140,     0,     0,     0,
    6560             :     2585,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6561             :        0,     0,     0,     0,     0,     0,     0,     0,  2585,     0,
    6562             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6563             :        0,     0,     0,     0,     0,     0,     0,  2585,     0,     0,
    6564             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6565             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6566             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6567             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6568             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6569             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6570             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6571             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6572             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6573             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6574             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6575             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6576             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6577             :        0,     0,     0,     0,     0,     0,     0,  5810,     0,     0,
    6578             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6579             :        0,     0,     0,     0,     0,     0,     0,     0,  3346,     0,
    6580             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6581             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6582             :        0,     0,     0,     0,  4140,     0,     0,     0,     0,     0,
    6583             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6584             :        0,     0,     0,  2104,     0,  4140,     0,  3325,     0,     0,
    6585             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6586             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6587             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6588             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6589             :        0,     0,     0,     0,     0,  5895,     0,     0,  2585,     0,
    6590             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6591             :     2585,  5907,     0,     0,     0,     0,     0,     0,     0,     0,
    6592             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6593             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6594             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6595             :        0,     0,     0,  5943,     0,     0,     0,     0,     0,     0,
    6596             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6597             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6598             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6599             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6600             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6601             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6602             :        0,     0,     0,     0,     0,     0,  2585,     0,     0,     0,
    6603             :        0,     0,     0,  2585,     0,     0,     0,     0,     0,     0,
    6604             :        0,     0,     0,  3286,     0,     0,     0,     0,     0,     0,
    6605             :        0,     0,     0,     0,     0,  6023,     0,     0,     0,     0,
    6606             :        0,     0,     0,     0,  6030,  6030,  6030,     0,     0,  2585,
    6607             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6608             :        0,     0,     0,     0,  2585,     0,     0,     0,     0,     0,
    6609             :        0,     0,  5615,     0,     0,     0,     0,     0,     0,     0,
    6610             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6611             :        0,  6066,     0,     0,     0,     0,     0,     0,     0,     0,
    6612             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6613             :        0,  6081,     0,     0,     0,     0,     0,     0,     0,     0,
    6614             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6615             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6616             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6617             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6618             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6619             :        0,     0,  3325,  3325,     0,     0,  3325,     0,     0,     0,
    6620             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6621             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6622             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6623             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6624             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6625             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6626             :     2585,     0,  6030,     0,     0,     0,     0,     0,     0,     0,
    6627             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6628             :        0,     0,     0,     0,     0,  2585,     0,  5615,     0,     0,
    6629             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6630             :        0,     0,     0,  4140,  4140,     0,  4140,     0,     0,     0,
    6631             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6632             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6633             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6634             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6635             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6636             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  6257,
    6637             :        0,     0,     0,     0,     0,  2585,     0,     0,     0,     0,
    6638             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6639             :        0,     0,     0,  6282,     0,     0,     0,     0,     0,     0,
    6640             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6641             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6642             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6643             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6644             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6645             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6646             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6647             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6648             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6649             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6650             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
    6651             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6652             :        0,     0,     0,     0,     0,  6030,   235,   236,   237,   238,
    6653             :      239,   240,   241,   242,   243,  1728,   244,   245,   246,     0,
    6654             :        0,  6372,     0,  1276,     0,     0,   247,   248,   249,     0,
    6655             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6656             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6657             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6658             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6659             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6660             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6661             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6662             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6663             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6664             :      323,  1729,     0,   324,   325,   887,   327,   328,     0,   329,
    6665             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6666             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6667             :     1298,   348,  1734,   349,   350,   351,  1299,   353,     0,   354,
    6668             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6669             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6670             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6671             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6672             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6673             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6674             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6675             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6676             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6677             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6678             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6679             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6680             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6681             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6682             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6683             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6684             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6685             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6686             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6687             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6688             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6689             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6690             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6691             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6692             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6693             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6694             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6695             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6696             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6697             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6698             :      616,   617,   618,   619,   620,   621,  1342,  1730,   623,   624,
    6699             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6700             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6701             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6702             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    6703             :        0,     0,     0,  1352,  1353,  1731,     0,     0,     0,     0,
    6704             :        0,     0,  1355,  1732,   234,     0,  1271,   717,     0,  1272,
    6705             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    6706             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    6707             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    6708             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    6709             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    6710             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    6711             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    6712             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    6713             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    6714             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    6715             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    6716             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    6717             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    6718             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    6719             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    6720             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    6721             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    6722             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    6723             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    6724             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    6725             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    6726             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    6727             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    6728             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    6729             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    6730             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    6731             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    6732             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    6733             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    6734             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    6735             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    6736             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    6737             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    6738             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    6739             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    6740             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    6741             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    6742             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    6743             :      545,   546,   547,   548,   549,   550,   551,    40,   552,   553,
    6744             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    6745             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    6746             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    6747             :     1333,   583,     0,   584,   585,  1334,    44,   586,   587,   588,
    6748             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    6749             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    6750             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    6751             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    6752             :     1206,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    6753             :        0,     0,   630,     0,    49,   631,   632,   633,   634,   635,
    6754             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    6755             :     1350,   647,   648,   649,   650,     0,  1351,     0,    50,     0,
    6756             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    6757             :        0,     0,     0,     0,     0,     0,     0,  1355,  5856,   234,
    6758             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6759             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    6760             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    6761             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    6762             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6763             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6764             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6765             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6766             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6767             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6768             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6769             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6770             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6771             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    6772             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6773             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6774             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    6775             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6776             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6777             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6778             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6779             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6780             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6781             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6782             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6783             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6784             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6785             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6786             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6787             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6788             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6789             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6790             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6791             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6792             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6793             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6794             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6795             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6796             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6797             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6798             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6799             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6800             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6801             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6802             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6803             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6804             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6805             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    6806             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6807             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6808             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6809             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    6810             :        0,     0,     0,  1352,  1353,     0,     0,     0,     0,     0,
    6811             :        0,     0,  1355,  3327,   234,     0,  1271,   717,     0,  1272,
    6812             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    6813             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    6814             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    6815             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    6816             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    6817             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    6818             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    6819             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    6820             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    6821             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    6822             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    6823             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    6824             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    6825             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    6826             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    6827             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    6828             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    6829             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    6830             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    6831             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    6832             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    6833             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    6834             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    6835             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    6836             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    6837             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    6838             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    6839             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    6840             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    6841             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    6842             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    6843             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    6844             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    6845             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    6846             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    6847             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    6848             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    6849             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    6850             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    6851             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    6852             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    6853             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    6854             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    6855             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    6856             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    6857             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    6858             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    6859             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    6860             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    6861             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    6862             :     1350,   647,   648,   649,   650,     0,  1351,     0,     0,     0,
    6863             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    6864             :        0,     0,     0,     0,     0,     0,     0,  1355,  4743,   234,
    6865             :        0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,     0,
    6866             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    6867             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    6868             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    6869             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    6870             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    6871             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    6872             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    6873             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    6874             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    6875             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    6876             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    6877             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    6878             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    6879             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    6880             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    6881             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    6882             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    6883             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    6884             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    6885             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    6886             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    6887             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    6888             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    6889             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    6890             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    6891             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    6892             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    6893             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    6894             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    6895             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    6896             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    6897             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    6898             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    6899             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    6900             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    6901             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    6902             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    6903             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    6904             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    6905             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    6906             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    6907             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    6908             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    6909             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    6910             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    6911             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    6912             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    6913             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    6914             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    6915             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    6916             :        0,  1351,     0,     0,     0,     0,     0,   658,     0,     0,
    6917             :        0,     0,     0,  1352,  1353,     0,     0,     0,     0,     0,
    6918             :        0,     0,  1355,  4809,   235,   236,   237,   238,   239,   240,
    6919             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    6920             :        0,     0,  4246,     0,   247,   248,   249,     0,   250,   251,
    6921             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
    6922             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    6923             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    6924             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
    6925             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
    6926             :      295,   296,   297,     0, -1855,   299,   300,   301,     0,     0,
    6927             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
    6928             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    6929             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    6930             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    6931             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    6932             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
    6933             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    6934             :      356,     0,     0, -1855,   359,   360,   361,   362,     0,   363,
    6935             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    6936             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
    6937             :      381,   382,   383,   384,   385,     0,   386, -1855,   388,   389,
    6938             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
    6939             :        0,   399, -1855,   401,   402,   403,   404,   405,   406,   407,
    6940             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    6941             :      418,     0,     0,   419,   420, -1855,   422,     0,     0,   424,
    6942             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
    6943             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    6944             :      443,   444,   445,   446, -1855,   448,   449,   450,   451,   452,
    6945             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
    6946             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
    6947             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    6948             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
    6949             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    6950             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    6951             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    6952             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    6953             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    6954             :        0,   533,   534, -1855,   536,   537,   538,   539,   540,   541,
    6955             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    6956             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
    6957             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
    6958             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    6959             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
    6960             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
    6961             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
    6962             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    6963             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
    6964             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
    6965             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    6966             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    6967             :      643,   644,   645,   646,   647,   648,   649,   650,     0,     0,
    6968             :        0,     0,     0,     0,     0,   879,     0,     0,     0,     0,
    6969             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    6970             :        0,  1467,   235,   236,   237,   238,   239,   240,   241,   242,
    6971             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
    6972             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    6973             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
    6974             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    6975             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
    6976             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
    6977             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    6978             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
    6979             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
    6980             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    6981             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    6982             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    6983             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    6984             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
    6985             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
    6986             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
    6987             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    6988             :      374,   375,   376,   377,  2731,   378,   379,   380,   381,   382,
    6989             :      383,   384,   385,     0,   386,   387,  2732,   389,   390,   391,
    6990             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
    6991             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
    6992             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
    6993             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
    6994             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
    6995             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
    6996             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
    6997             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
    6998             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
    6999             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    7000             :      478,  2734,   480,   481,   482,     0,   484,   485,   486,   487,
    7001             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    7002             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
    7003             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    7004             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7005             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7006             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
    7007             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7008             :      553,   554,   555,   556,     0,   557,   558,  2735,   560,   561,
    7009             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
    7010             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7011             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
    7012             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
    7013             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
    7014             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    7015             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
    7016             :      620,     0,   901,  2736,   623,   624,   625,   626,   627,   628,
    7017             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7018             :      635,   636,     0,   879,     0,     0,     0,     0,     0,     0,
    7019             :        0,     0,     0,   648,   649,   650,     0,     0,     0,     0,
    7020             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    7021             :      244,   245,   246,     0,     0,     0,     0,     0,     0,  2829,
    7022             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    7023             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
    7024             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
    7025             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
    7026             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    7027             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    7028             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
    7029             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
    7030             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    7031             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    7032             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    7033             :      335,   336,   337,     0,   338,   339,   340,   341,     0,   343,
    7034             :      344,   345,   346,     0,     0,   348,     0,   349,   350,   351,
    7035             :      888,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    7036             :      359,   360,   361,   362,     0,   363,     0,     0,     0,   366,
    7037             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    7038             :      376,   377,  2731,   378,   379,   380,   381,   382,   383,   384,
    7039             :      385,     0,   386,   387,  2732,   389,   390,   391,   392,   889,
    7040             :      890,     0,   891,     0,   396,   397,   398,   399,   400,   892,
    7041             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7042             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    7043             :        0,   421,   422,   423,     0,   424,   425,   426,     0,     0,
    7044             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    7045             :        0,   438,   439,   440,   441,   442,   443,   444,   445,   893,
    7046             :      447,   894,   449,   450,   451,   452,   453,   454,   455,   456,
    7047             :        0,     0,   459,     0,   460,   461,   462,   463,     0,     0,
    7048             :      465,   895,   467,   468,   469,   470,     0,   471,   472,   473,
    7049             :        0,     0,   474,   475,   476,     0,     0,   477,   478,  2734,
    7050             :      480,   481,   482,     0,   484,   485,   486,   487,   488,   489,
    7051             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    7052             :        0,   500,     0,   502,   503,   504,     0,   505,   506,   507,
    7053             :      508,   509,   510,   511,   512,   513,   514,   515,   896,   517,
    7054             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    7055             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    7056             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
    7057             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    7058             :      555,   556,     0,   557,   558,  2735,   560,   561,   562,   563,
    7059             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
    7060             :      573,   574,   575,   576,   577,   578,   579,   580,   581,     0,
    7061             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
    7062             :      590,   591,   592,   593,     0,   594,   899,   900,     0,     0,
    7063             :      597,   598,     0,   600,     0,     0,   602,   603,   604,   605,
    7064             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    7065             :      614,   615,     0,     0,   616,   617,   618,   619,   620,     0,
    7066             :      901,  2736,   623,   624,   625,   626,   627,   628,   629,     0,
    7067             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    7068             :        0,   234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,
    7069             :     1275,   648,   649,   650,     0,     0,     0,     0,   235,   236,
    7070             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7071             :      246,     0,     0,     0,     0,  1276,     0,  3962,   247,   248,
    7072             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7073             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7074             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7075             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7076             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7077             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7078             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7079             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7080             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7081             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7082             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7083             :      337,     0,   338,   339,   340,   341,  1296,   343,   344,   345,
    7084             :      346,  1297,  1298,   348,     0,   349,   350,   351,  1299,   353,
    7085             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    7086             :      361,   362,     0,   363,  1300,     0,  1301,   366,   367,     0,
    7087             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    7088             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    7089             :      386,   387,   388,   389,   390,   391,   392,  1302,  1303,     0,
    7090             :     1304,     0,   396,   397,   398,   399,   400,  1305,  1306,  1307,
    7091             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    7092             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    7093             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    7094             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    7095             :      439,   440,   441,   442,   443,   444,   445,  1319,   447,  1320,
    7096             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    7097             :      459,  1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,
    7098             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    7099             :     1326,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    7100             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    7101             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    7102             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    7103             :      510,   511,   512,   513,   514,   515,  1329,   517,   518,   519,
    7104             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7105             :      529,   530,   531,   532,  3288,   533,   534,   535,   536,   537,
    7106             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7107             :      548,   549,   550,   551,    40,   552,   553,   554,   555,   556,
    7108             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7109             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7110             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    7111             :      584,   585,  1334,    44,   586,   587,   588,   589,   590,   591,
    7112             :      592,   593,     0,   594,  1335,  1336,     0,     0,   597,   598,
    7113             :     1337,   600,  1338,  1339,   602,   603,   604,   605,   606,   607,
    7114             :      608,   609,   610,     0,  1340,   611,   612,   613,   614,   615,
    7115             :     1341,     0,   616,   617,   618,   619,   620,  1206,  1342,     0,
    7116             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7117             :        0,    49,   631,   632,   633,   634,   635,   636,   637,  1343,
    7118             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7119             :      649,   650,     0,  1351,     0,    50,     0,     0,     0,     0,
    7120             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    7121             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7122             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7123             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7124             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7125             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7126             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7127             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7128             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7129             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7130             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7131             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7132             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7133             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7134             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7135             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7136             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7137             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7138             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7139             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7140             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7141             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7142             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7143             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7144             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7145             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7146             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7147             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7148             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    7149             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    7150             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    7151             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    7152             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    7153             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7154             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    7155             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    7156             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    7157             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7158             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7159             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7160             :      549,   550,   551,    40,   552,   553,   554,   555,   556,  1331,
    7161             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7162             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7163             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    7164             :      585,  1334,    44,   586,   587,   588,   589,   590,   591,   592,
    7165             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    7166             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    7167             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    7168             :        0,   616,   617,   618,   619,   620,  1206,  1342,     0,   623,
    7169             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7170             :       49,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7171             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7172             :      650,     0,  1351,     0,    50,     0,     0,     0,     0,     0,
    7173             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    7174             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7175             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7176             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    7177             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7178             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7179             :      260,  1278,  1279,  3333,   263,   264,   265,   266,   267,   268,
    7180             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7181             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7182             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7183             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7184             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7185             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7186             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7187             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7188             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    7189             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    7190             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    7191             :        0,   355,   356,   357,  3334,   358,   359,   360,   361,   362,
    7192             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    7193             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    7194             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    7195             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    7196             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    7197             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    7198             :      416,   417,   418,     0,  3335,   419,  1315,   421,   422,   423,
    7199             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    7200             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    7201             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    7202             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    7203             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    7204             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    7205             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    7206             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7207             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    7208             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    7209             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    7210             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7211             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    7212             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7213             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7214             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    7215             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7216             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    7217             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    7218             :        0,   594,  1335,  1336,     0,  3336,   597,   598,  1337,   600,
    7219             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    7220             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    7221             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    7222             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7223             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7224             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7225             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7226             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7227             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7228             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7229             :      240,   241,   242,   243, -2286,   244,   245,   246,     0,     0,
    7230             :        0, -2286,  1276,     0,     0,   247,   248,   249,     0,   250,
    7231             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7232             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7233             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7234             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7235             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7236             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7237             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7238             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7239             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7240             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7241             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    7242             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    7243             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    7244             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    7245             :      363,  1300,     0,  1301,   366,   367,     0,   368,   369,   370,
    7246             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    7247             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    7248             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    7249             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    7250             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    7251             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    7252             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    7253             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    7254             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    7255             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    7256             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    7257             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    7258             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    7259             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7260             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    7261             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    7262             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    7263             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7264             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    7265             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7266             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7267             :      559,   560,   561,   562,   563,   564,  1332,   566, -2286,   567,
    7268             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7269             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    7270             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    7271             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    7272             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    7273             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    7274             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    7275             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7276             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7277             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7278             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7279             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7280             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7281             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7282             :      241,   242,   243, -2284,   244,   245,   246,     0,     0,     0,
    7283             :    -2284,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7284             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7285             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7286             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7287             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7288             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7289             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7290             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7291             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7292             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7293             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7294             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    7295             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    7296             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    7297             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    7298             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    7299             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    7300             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    7301             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    7302             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7303             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    7304             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    7305             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    7306             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    7307             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    7308             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    7309             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    7310             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    7311             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    7312             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    7313             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    7314             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7315             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    7316             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7317             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7318             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7319             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7320             :      560,   561,   562,   563,   564,  1332,   566, -2284,   567,   568,
    7321             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7322             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    7323             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    7324             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    7325             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    7326             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    7327             :      618,   619,   620,   621,  1342,     0,   623,   624,   625,   626,
    7328             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7329             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7330             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7331             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7332             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    7333             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    7334             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    7335             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7336             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7337             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    7338             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    7339             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    7340             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    7341             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7342             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    7343             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    7344             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    7345             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7346             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7347             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    7348             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    7349             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    7350             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    7351             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    7352             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    7353             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    7354             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    7355             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7356             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    7357             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    7358             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    7359             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    7360             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    7361             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    7362             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    7363             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    7364             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    7365             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    7366             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    7367             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7368             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    7369             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7370             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    7371             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7372             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    7373             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    7374             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7375             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    7376             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    7377             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    7378             :      603,   604,   605,   606,   607,   608,   609,   610,     0,  1340,
    7379             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    7380             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    7381             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7382             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    7383             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    7384             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7385             :     1352,  1353,     0,     0,     0,     0,     0,  2052,  3262,  1355,
    7386             :      234,     0,  1271,   717,     0,  1272,  1273,  1274,   778,  1275,
    7387             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7388             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7389             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7390             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7391             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7392             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7393             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7394             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7395             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7396             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7397             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7398             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7399             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7400             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7401             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7402             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7403             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7404             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7405             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7406             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7407             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7408             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7409             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7410             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7411             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7412             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7413             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    7414             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    7415             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    7416             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    7417             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    7418             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7419             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    7420             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    7421             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    7422             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7423             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7424             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7425             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7426             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7427             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7428             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    7429             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    7430             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    7431             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    7432             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    7433             :        0,   616,   617,   618,   619,   620,   621,  1342,     0,   623,
    7434             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7435             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    7436             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7437             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7438             :        0,     0,     0,     0,  1352,  1353,  1354,     0,     0,   234,
    7439             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7440             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7441             :      239,   240,   241,   242,   243,  2698,   244,   245,   246,     0,
    7442             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7443             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7444             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    7445             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7446             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7447             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7448             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7449             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7450             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7451             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7452             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7453             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    7454             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    7455             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    7456             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    7457             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    7458             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    7459             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    7460             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    7461             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    7462             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    7463             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    7464             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    7465             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    7466             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    7467             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,  1322,
    7468             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    7469             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    7470             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    7471             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    7472             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    7473             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    7474             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    7475             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    7476             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    7477             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    7478             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    7479             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    7480             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    7481             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    7482             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    7483             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    7484             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    7485             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    7486             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    7487             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    7488             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    7489             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    7490             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    7491             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    7492             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    7493             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    7494             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    7495             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    7496             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    7497             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    7498             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    7499             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    7500             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    7501             :      294,   295,   296,   297,     0,   298,   299,   300,   301,  1286,
    7502             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    7503             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    7504             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    7505             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    7506             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    7507             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    7508             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    7509             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    7510             :      363,  1300,     0,  1301,   366,   367,     0,   368,   369,   370,
    7511             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    7512             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    7513             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    7514             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    7515             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    7516             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    7517             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    7518             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    7519             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    7520             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    7521             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    7522             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    7523             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    7524             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    7525             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    7526             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    7527             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    7528             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    7529             :      532,  3288,   533,   534,   535,   536,   537,   538,   539,   540,
    7530             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    7531             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    7532             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    7533             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    7534             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    7535             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    7536             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    7537             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    7538             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    7539             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    7540             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    7541             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    7542             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    7543             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7544             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    7545             :      717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    7546             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    7547             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    7548             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    7549             :      252,   253,   254,   255,   256,   257,   258,  1277,   260,  1278,
    7550             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    7551             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    7552             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    7553             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    7554             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    7555             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    7556             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    7557             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    7558             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    7559             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    7560             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    7561             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    7562             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    7563             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    7564             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    7565             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    7566             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    7567             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    7568             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    7569             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    7570             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    7571             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    7572             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    7573             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    7574             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    7575             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    7576             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    7577             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    7578             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    7579             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    7580             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    7581             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    7582             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    7583             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    7584             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    7585             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    7586             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    7587             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    7588             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    7589             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    7590             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    7591             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    7592             :      618,   619,   620,   621,  1342,  3841,   623,   624,   625,   626,
    7593             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    7594             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    7595             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    7596             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7597             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    7598             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    7599             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    7600             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    7601             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    7602             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    7603             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    7604             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    7605             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    7606             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    7607             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    7608             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    7609             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    7610             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    7611             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    7612             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    7613             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    7614             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    7615             :      357,  3334,   358,   359,   360,   361,   362,     0,   363,  1300,
    7616             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    7617             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    7618             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    7619             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    7620             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    7621             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    7622             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    7623             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    7624             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    7625             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    7626             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    7627             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    7628             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    7629             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    7630             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    7631             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    7632             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    7633             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    7634             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    7635             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    7636             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    7637             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    7638             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    7639             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    7640             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    7641             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    7642             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    7643             :      603,   604,   605,   606,   607,   608,   609,   610,     0,  1340,
    7644             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    7645             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    7646             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    7647             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    7648             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    7649             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    7650             :     1352,  1353,     0,     0,     0,   234,     0,  1271,   717,  1355,
    7651             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    7652             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    7653             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    7654             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    7655             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    7656             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    7657             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    7658             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    7659             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    7660             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    7661             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    7662             :     1294,   311,  1295,   312,     0,   313,   314,   315,   316,   317,
    7663             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    7664             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    7665             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    7666             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    7667             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    7668             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    7669             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    7670             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    7671             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    7672             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    7673             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    7674             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    7675             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    7676             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    7677             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    7678             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    7679             :      455,   456,   457,  1321,   459,  1322,   460,   461,   462,   463,
    7680             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    7681             :      472,   473,     0,     0,  1326,   475,   476,     0,     0,   477,
    7682             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    7683             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    7684             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    7685             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    7686             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    7687             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    7688             :      534,   535,   536,   537,   538,   539,   540,  1330,   542,   543,
    7689             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    7690             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    7691             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    7692             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    7693             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    7694             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    7695             :     3391,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    7696             :      604,   605,   606,   607,   608,   609,   610,     0,  1340,   611,
    7697             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    7698             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    7699             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    7700             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    7701             :     1349,  1350,   647,   648,   649,   650,     0,  1351,     0,     0,
    7702             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1352,
    7703             :     1353,     0,     0,     0,   234,     0,  1271,   717,  1355,  1272,
    7704             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    7705             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    7706             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    7707             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    7708             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
    7709             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    7710             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    7711             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    7712             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    7713             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    7714             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    7715             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    7716             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    7717             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    7718             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    7719             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    7720             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    7721             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    7722             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    7723             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    7724             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    7725             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
    7726             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    7727             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    7728             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    7729             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    7730             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    7731             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    7732             :      456,   457,  1321,   459,  1322,   460,   461,   462,   463,  1323,
    7733             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    7734             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    7735             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    7736             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    7737             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    7738             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    7739             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    7740             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    7741             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    7742             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    7743             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    7744             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    7745             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    7746             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    7747             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    7748             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    7749             :      605,   606,   607,   608,   609,   610,     0,  1340,   611,   612,
    7750             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    7751             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    7752             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    7753             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    7754             :     1350,   647,   648,   649,   650,     0,  1351,     0,     0,     0,
    7755             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    7756             :        0,     0,     0,   234,     0,  1271,   717,  1355,  1272,  1273,
    7757             :     1274,   778,  1275,     0,     0,     0,     0,     0,     0,     0,
    7758             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    7759             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    7760             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    7761             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,   264,
    7762             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    7763             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    7764             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    7765             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    7766             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    7767             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    7768             :     1295,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    7769             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    7770             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    7771             :      335,   336,   337,     0,   338,   339,   340,   341,  1296,   343,
    7772             :      344,   345,   346,  1297,  1298,   348,     0,   349,   350,   351,
    7773             :     1299,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    7774             :      359,   360,   361,   362,     0,   363,  1300,     0,  1301,   366,
    7775             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    7776             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    7777             :      385,     0,   386,   387,   388,   389,   390,   391,   392,  1302,
    7778             :     1303,     0,  1304,     0,   396,   397,   398,   399,   400,  1305,
    7779             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
    7780             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    7781             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    7782             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    7783             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,  1319,
    7784             :      447,  1320,   449,   450,   451,   452,   453,   454,   455,   456,
    7785             :      457,  1321,   459,  1322,   460,   461,   462,   463,  1323,  1324,
    7786             :      465,  1325,   467,   468,   469,   470,     0,   471,   472,   473,
    7787             :        0,     0,  1326,   475,   476,     0,     0,   477,   478,   479,
    7788             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    7789             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    7790             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    7791             :      508,   509,   510,   511,   512,   513,   514,   515,  1329,   517,
    7792             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    7793             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    7794             :      536,   537,   538,   539,   540,  1330,   542,   543,   544,   545,
    7795             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    7796             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    7797             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    7798             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    7799             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    7800             :      590,   591,   592,   593,     0,   594,  1335,  1336,     0,     0,
    7801             :      597,   598,  1337,   600,  1338,  1339,   602,   603,   604,   605,
    7802             :      606,   607,   608,   609,   610,     0,  1340,   611,   612,   613,
    7803             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    7804             :     1342,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    7805             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    7806             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    7807             :      647,   648,   649,   650,     0,  1351,     0,     0,     0,     0,
    7808             :        0,     0,     0,     0,     0,     0,     0,  2701,  2702,     0,
    7809             :        0,     0,   234,     0,  3510,   717,  1355,  1272,  1273,  1274,
    7810             :      778,  1275,     0,     0,     0,     0,     0,     0,     0,   235,
    7811             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    7812             :      245,   246,     0,     0,     0,     0,  1276,     0,     0,   247,
    7813             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    7814             :      257,   258,  1277,   260,  1278,  1279,     0,   263,   264,   265,
    7815             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    7816             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    7817             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    7818             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    7819             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    7820             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,  1295,
    7821             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    7822             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    7823             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    7824             :      336,   337,     0,   338,   339,   340,   341,  1296,   343,   344,
    7825             :      345,   346,  1297,  1298,   348,     0,   349,   350,   351,  1299,
    7826             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    7827             :      360,   361,   362,     0,   363,  1300,     0,  1301,   366,   367,
    7828             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    7829             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    7830             :        0,   386,   387,   388,   389,   390,   391,   392,  1302,  1303,
    7831             :        0,  1304,     0,   396,   397,   398,   399,   400,  1305,  1306,
    7832             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,
    7833             :      413,   414,   415,   416,   417,   418,     0,     0,   419,  1315,
    7834             :      421,   422,   423,     0,   424,   425,   426,  1316,  1317,   427,
    7835             :      428,   429,   430,   431,   432,   433,   434,   435,   436,  1318,
    7836             :      438,   439,   440,   441,   442,   443,   444,   445,  1319,   447,
    7837             :     1320,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    7838             :     1321,   459,  1322,   460,   461,   462,   463,  1323,  1324,   465,
    7839             :     1325,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    7840             :        0,  1326,   475,   476,     0,     0,   477,   478,   479,   480,
    7841             :      481,   482,  1327,   484,   485,   486,   487,   488,   489,   490,
    7842             :      491,   492,   493,   494,   495,     0,   496,   497,   498,  1328,
    7843             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    7844             :      509,   510,   511,   512,   513,   514,   515,  1329,   517,   518,
    7845             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    7846             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    7847             :      537,   538,   539,   540,  1330,   542,   543,   544,   545,   546,
    7848             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    7849             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    7850             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    7851             :      574,   575,   576,   577,   578,   579,   580,   581,  1333,   583,
    7852             :        0,   584,   585,  1334,     0,   586,   587,   588,   589,   590,
    7853             :      591,   592,   593,     0,   594,  1335,  1336,     0,     0,   597,
    7854             :      598,  1337,   600,  1338,  1339,   602,   603,   604,   605,   606,
    7855             :      607,   608,   609,   610,     0,  1340,   611,   612,   613,   614,
    7856             :      615,  1341,     0,   616,   617,   618,   619,   620,   621,  1342,
    7857             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    7858             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    7859             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    7860             :      648,   649,   650,     0,  1351,     0,     0,     0,     0,     0,
    7861             :        0,     0,     0,     0,     0,     0,  1352,  1353,     0,     0,
    7862             :        0,   234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,
    7863             :     1275,     0,     0,     0,     0,     0,     0,     0,   235,   236,
    7864             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    7865             :      246,     0,     0,     0,     0,  1276,     0,     0,   247,   248,
    7866             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    7867             :      258,  1277,   260,  1278,  1279,     0,   263,   264,   265,   266,
    7868             :      267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,
    7869             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    7870             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    7871             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    7872             :      300,  4865,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    7873             :      304,   305,   306,   307,   308,  1293,  1294,   311,  1295,   312,
    7874             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    7875             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
    7876             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    7877             :      337,     0,   338,   339,   340,   341,  1296,   343,   344,   345,
    7878             :      346,  1297,  1298,   348,     0,   349,   350,   351,  1299,   353,
    7879             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    7880             :      361,   362,     0,   363,  1300,     0,  1301,   366,   367,     0,
    7881             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    7882             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    7883             :      386,   387,   388,   389,   390,   391,   392,  1302,  1303,     0,
    7884             :     1304,     0,   396,   397,   398,   399,   400,  1305,  1306,  1307,
    7885             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    7886             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    7887             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    7888             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    7889             :      439,   440,   441,   442,   443,   444,   445,  1319,   447,  1320,
    7890             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    7891             :      459,  1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,
    7892             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    7893             :     1326,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    7894             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    7895             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    7896             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    7897             :      510,   511,   512,   513,   514,   515,  1329,   517,   518,   519,
    7898             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    7899             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    7900             :      538,   539,   540,  1330,   542,   543,   544,   545,   546,   547,
    7901             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    7902             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,  1332,
    7903             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    7904             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    7905             :      584,   585,  1334,     0,   586,   587,   588,   589,   590,   591,
    7906             :      592,   593,     0,   594,  1335,  1336,     0,     0,   597,   598,
    7907             :     1337,   600,  1338,  1339,   602,   603,   604,   605,   606,   607,
    7908             :      608,   609,   610,     0,  1340,   611,   612,   613,   614,   615,
    7909             :     1341,     0,   616,   617,   618,   619,   620,   621,  1342,     0,
    7910             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    7911             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    7912             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    7913             :      649,   650,     0,  1351,     0,     0,     0,     0,     0,     0,
    7914             :        0,     0,     0,     0,     0,  1352,  1353,     0,     0,     0,
    7915             :      234,     0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,
    7916             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
    7917             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    7918             :        0,     0,     0,     0,  1276,     0,     0,   247,   248,   249,
    7919             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    7920             :     1277,   260,  1278,  1279,     0,   263,   264,   265,   266,   267,
    7921             :      268,   269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,
    7922             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    7923             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    7924             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    7925             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    7926             :      305,   306,   307,   308,  1293,  1294,   311,  1295,   312,     0,
    7927             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    7928             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
    7929             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    7930             :        0,   338,   339,   340,   341,  1296,   343,   344,   345,   346,
    7931             :     1297,  1298,   348,     0,   349,   350,   351,  1299,   353,     0,
    7932             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    7933             :      362,     0,   363,  1300,     0,  1301,   366,   367,     0,   368,
    7934             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    7935             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    7936             :      387,   388,   389,   390,   391,   392,  1302,  1303,     0,  1304,
    7937             :        0,   396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,
    7938             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    7939             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    7940             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    7941             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    7942             :      440,   441,   442,   443,   444,   445,  1319,   447,  1320,   449,
    7943             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    7944             :     1322,   460,   461,   462,   463,  1323,  1324,   465,  1325,   467,
    7945             :      468,   469,   470,     0,   471,   472,   473,     0,     0,  1326,
    7946             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    7947             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    7948             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    7949             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    7950             :      511,   512,   513,   514,   515,  1329,   517,   518,   519,     0,
    7951             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    7952             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    7953             :      539,   540,  1330,   542,   543,   544,   545,   546,   547,   548,
    7954             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    7955             :      557,   558,   559,   560,   561,   562,   563,   564,  1332,   566,
    7956             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    7957             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    7958             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    7959             :      593,     0,   594,  1335,  1336,     0,     0,   597,   598,  1337,
    7960             :      600,  1338,  1339,   602,   603,   604,   605,   606,   607,   608,
    7961             :      609,   610,     0,  1340,   611,   612,   613,   614,   615,  1341,
    7962             :        0,   616,   617,   618,   619,   620,   621,  1342,     0,   623,
    7963             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    7964             :        0,   631,   632,   633,   634,   635,   636,  5251,  1343,  1344,
    7965             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    7966             :      650,     0,  1351,     0,     0,     0,     0,     0,     0,     0,
    7967             :        0,     0,     0,     0,  1352,  1353,     0,     0,     0,   234,
    7968             :        0,  1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,
    7969             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    7970             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    7971             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    7972             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    7973             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    7974             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    7975             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    7976             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    7977             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    7978             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    7979             :      306,   307,   308,  1293,  1294,   311,  1295,   312,     0,   313,
    7980             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    7981             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    7982             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    7983             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    7984             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    7985             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    7986             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    7987             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    7988             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    7989             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    7990             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    7991             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    7992             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    7993             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    7994             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    7995             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    7996             :      451,   452,   453,   454,   455,  5263,   457,  1321,   459,  1322,
    7997             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    7998             :      469,   470,     0,   471,   472,   473,     0,     0,  1326,   475,
    7999             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8000             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8001             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8002             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8003             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8004             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8005             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8006             :      540,  1330,   542,   543,   544,   545,   546,   547,   548,   549,
    8007             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8008             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8009             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8010             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8011             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8012             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8013             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8014             :      610,     0,  1340,   611,   612,   613,   614,   615,  1341,     0,
    8015             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8016             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8017             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8018             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8019             :        0,  1351,     0,     0,     0,     0,     0,     0,     0,     0,
    8020             :        0,     0,     0,  1352,  1353,     0,     0,     0,   234,     0,
    8021             :     1271,   717,  1355,  1272,  1273,  1274,   778,  1275,     0,     0,
    8022             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
    8023             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8024             :        0,     0,  1276,     0,     0,   247,   248,   249,     0,   250,
    8025             :      251,   252,   253,   254,   255,   256,   257,   258,  1277,   260,
    8026             :     1278,  1279,     0,   263,   264,   265,   266,   267,   268,   269,
    8027             :     1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,   276,
    8028             :      277,   278,  1284,     0,  1285,     0,   281,   282,   283,   284,
    8029             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8030             :      294,   295,   296,   297,     0,   298,   299,  5605,   301,  1286,
    8031             :     1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,
    8032             :      307,   308,  1293,  1294,   311,  1295,   312,     0,   313,   314,
    8033             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8034             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
    8035             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    8036             :      339,   340,   341,  1296,   343,   344,   345,   346,  1297,  1298,
    8037             :      348,     0,   349,   350,   351,  1299,   353,     0,   354,     0,
    8038             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    8039             :      363,  1300,     0,  5606,   366,   367,     0,   368,   369,   370,
    8040             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    8041             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    8042             :      389,   390,   391,   392,  1302,  1303,     0,  1304,     0,   396,
    8043             :      397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,
    8044             :     1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,   416,
    8045             :      417,   418,     0,     0,   419,  1315,   421,   422,   423,     0,
    8046             :      424,   425,   426,  1316,  1317,   427,   428,   429,   430,   431,
    8047             :      432,   433,   434,   435,   436,  1318,   438,   439,   440,   441,
    8048             :      442,   443,   444,   445,  1319,   447,  1320,   449,   450,   451,
    8049             :      452,   453,   454,   455,   456,   457,  1321,   459,  1322,   460,
    8050             :      461,   462,   463,  1323,  1324,   465,  1325,   467,   468,   469,
    8051             :      470,     0,   471,   472,   473,     0,     0,  1326,   475,   476,
    8052             :        0,     0,   477,   478,   479,   480,   481,   482,  1327,   484,
    8053             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8054             :      495,     0,   496,   497,   498,  1328,   500,   501,   502,   503,
    8055             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    8056             :      513,   514,   515,  1329,   517,   518,   519,     0,   520,   521,
    8057             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8058             :      532,     0,   533,   534,   535,   536,   537,  5607,   539,   540,
    8059             :     1330,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    8060             :      551,     0,   552,   553,   554,   555,   556,  1331,   557,   558,
    8061             :      559,   560,   561,   562,   563,   564,  1332,   566,     0,   567,
    8062             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8063             :      578,   579,   580,   581,  1333,   583,     0,   584,   585,  1334,
    8064             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    8065             :      594,  1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,
    8066             :     1339,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    8067             :        0,  1340,   611,   612,   613,   614,   615,  1341,     0,   616,
    8068             :      617,   618,   619,   620,   621,  1342,     0,   623,   624,   625,
    8069             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8070             :      632,   633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,
    8071             :      642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,
    8072             :     1351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8073             :        0,     0,  1352,  1353,     0,     0,     0,   234,     0,  1271,
    8074             :      717,  5608,  1272,  1273,  1274,   778,  1275,     0,     0,     0,
    8075             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
    8076             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8077             :        0,  1276,     0,     0,   247,   248,   249,     0,   250,   251,
    8078             :      252,   253,   254,   255,   256,   257,  6027,  1277,   260,  1278,
    8079             :     1279,     0,   263,   264,   265,   266,   267,   268,   269,  1280,
    8080             :     1281,   270,   271,  1282,  1283,   274,     0,   275,   276,   277,
    8081             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8082             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8083             :      295,   296,   297,     0,   298,   299,   300,  6028,  1286,  1287,
    8084             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8085             :      308,  1293,  1294,   311,  1295,   312,     0,   313,   314,   315,
    8086             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8087             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
    8088             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    8089             :      340,   341,  1296,   343,   344,   345,   346,  1297,  1298,   348,
    8090             :        0,   349,   350,   351,  1299,   353,     0,   354,     0,   355,
    8091             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    8092             :     1300,     0,  1301,   366,   367,     0,   368,   369,   370,   371,
    8093             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    8094             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    8095             :      390,   391,   392,  1302,  1303,     0,  1304,     0,   396,   397,
    8096             :      398,   399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,
    8097             :     1312,  1313,   410,  1314,   412,   413,   414,   415,   416,   417,
    8098             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    8099             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    8100             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    8101             :      443,   444,   445,  1319,   447,  1320,   449,   450,   451,   452,
    8102             :      453,   454,   455,   456,   457,  1321,   459,  1322,   460,   461,
    8103             :      462,   463,  1323,  1324,   465,  1325,   467,   468,   469,   470,
    8104             :        0,   471,   472,   473,     0,     0,  1326,   475,   476,     0,
    8105             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    8106             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    8107             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    8108             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8109             :      514,   515,  1329,   517,   518,   519,     0,   520,   521,   522,
    8110             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8111             :        0,   533,   534,   535,   536,   537,   538,   539,   540,  1330,
    8112             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8113             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8114             :      560,   561,   562,   563,   564,  1332,   566,     0,   567,   568,
    8115             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8116             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    8117             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    8118             :     1335,  1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,
    8119             :      602,   603,   604,   605,   606,  6029,   608,   609,   610,     0,
    8120             :     1340,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    8121             :      618,   619,   620,   621,  1342,     0,   623,   624,   625,   626,
    8122             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    8123             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8124             :     1347,  1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,
    8125             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8126             :        0,  1352,  1353,     0,     0,     0,   234,     0,  1271,   717,
    8127             :     1355,  1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,
    8128             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
    8129             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8130             :     1276,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8131             :      253,   254,   255,   256,   257,   258,  1277,   260,  1278,  1279,
    8132             :        0,   263,   264,   265,   266,   267,   268,   269,  1280,  1281,
    8133             :      270,   271,  1282,  1283,   274,     0,   275,   276,   277,   278,
    8134             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8135             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8136             :      296,   297,     0,   298,   299,   300,  6028,  1286,  1287,  1288,
    8137             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8138             :     1293,  1294,   311,  1295,   312,     0,   313,   314,   315,   316,
    8139             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8140             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
    8141             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    8142             :      341,  1296,   343,   344,   345,   346,  1297,  1298,   348,     0,
    8143             :      349,   350,   351,  1299,   353,     0,   354,     0,   355,   356,
    8144             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    8145             :        0,  1301,   366,   367,     0,   368,   369,   370,   371,   372,
    8146             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    8147             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    8148             :      391,   392,  1302,  1303,     0,  1304,     0,   396,   397,   398,
    8149             :      399,   400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8150             :     1313,   410,  1314,   412,   413,   414,   415,   416,   417,   418,
    8151             :        0,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    8152             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    8153             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    8154             :      444,   445,  1319,   447,  1320,   449,   450,   451,   452,   453,
    8155             :      454,   455,   456,   457,  1321,   459,  1322,   460,   461,   462,
    8156             :      463,  1323,  1324,   465,  1325,   467,   468,   469,   470,     0,
    8157             :      471,   472,   473,     0,     0,  1326,   475,   476,     0,     0,
    8158             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    8159             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    8160             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    8161             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8162             :      515,  1329,   517,   518,   519,     0,   520,   521,   522,   523,
    8163             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8164             :      533,   534,   535,   536,   537,   538,   539,   540,  1330,   542,
    8165             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    8166             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8167             :      561,   562,   563,   564,  1332,   566,     0,   567,   568,   569,
    8168             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8169             :      580,   581,  1333,   583,     0,   584,   585,  1334,     0,   586,
    8170             :      587,   588,   589,   590,   591,   592,   593,     0,   594,  1335,
    8171             :     1336,     0,     0,   597,   598,  1337,   600,  1338,  1339,   602,
    8172             :      603,   604,   605,   606,  6029,   608,   609,   610,     0,  1340,
    8173             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    8174             :      619,   620,   621,  1342,     0,   623,   624,   625,   626,   627,
    8175             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    8176             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8177             :     1348,  1349,  1350,   647,   648,   649,   650,     0,  1351,     0,
    8178             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8179             :     1352,  1353,     0,     0,     0,   234,     0,  1271,   717,  1355,
    8180             :     1272,  1273,  1274,   778,  1275,     0,     0,     0,     0,     0,
    8181             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    8182             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    8183             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8184             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    8185             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    8186             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    8187             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8188             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8189             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    8190             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    8191             :     1294,   311,  5590,   312,     0,   313,   314,   315,   316,   317,
    8192             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8193             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    8194             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8195             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    8196             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    8197             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    8198             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8199             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8200             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8201             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    8202             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8203             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    8204             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    8205             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    8206             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    8207             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    8208             :      455,   456,   457,  1321,   459,     0,   460,   461,   462,   463,
    8209             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    8210             :      472,   473,     0,     0,  1326,   475,   476,     0,     0,   477,
    8211             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    8212             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8213             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    8214             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    8215             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8216             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8217             :      534,   535,   536,   537,   538,   539,   540,  3319,   542,   543,
    8218             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    8219             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    8220             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    8221             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8222             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    8223             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    8224             :        0,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    8225             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    8226             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    8227             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    8228             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    8229             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    8230             :     1349,  1350,   647,   648,   649,   650,     0,     0,     0,     0,
    8231             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3320,
    8232             :     3321,     0,     0,     0,   234,     0,  1271,   717,  3322,  1272,
    8233             :     1273,  1274,   778,  1275,     0,     0,     0,     0,     0,     0,
    8234             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8235             :        0,   244,   245,   246,     0,     0,     0,     0,  1276,     0,
    8236             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8237             :      255,   256,   257, -3012,  1277,   260,  1278,  1279,     0,   263,
    8238             :      264,   265,   266,   267,   268,   269,  1280,  1281,   270,   271,
    8239             :     1282,  1283,   274,     0,   275,   276,   277,   278,  1284,     0,
    8240             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8241             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8242             :        0,   298,   299,   300,  6028,  1286,  1287,  1288,  1289,  1290,
    8243             :     1291,  1292,   303,   304,   305,   306,   307,   308,  1293,  1294,
    8244             :      311,  1295,   312,     0,   313,   314,   315,   316,   317,   318,
    8245             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8246             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8247             :      334,   335,   336,   337,     0,   338,   339,   340,   341,  1296,
    8248             :      343,   344,   345,   346,  1297,  1298,   348,     0,   349,   350,
    8249             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
    8250             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,  1301,
    8251             :      366,   367,     0,   368,   369,   370,   371,   372, -3012,   374,
    8252             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    8253             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    8254             :     1302,  1303,     0,  1304,     0,   396,     0,     0,   399,   400,
    8255             :     1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    8256             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    8257             :      419,  1315,   421,   422, -3012,     0,   424,   425,   426,  1316,
    8258             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8259             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    8260             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
    8261             :      456,   457,  1321,   459,  1322,   460,   461,     0,   463,  1323,
    8262             :     1324,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
    8263             :      473,     0,     0,  1326,   475,   476,     0,     0,   477,   478,
    8264             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    8265             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    8266             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    8267             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
    8268             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8269             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8270             :      535,   536,   537,   538,   539,   540,  1330,   542,   543,   544,
    8271             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8272             :      554,   555,   556,  1331,   557,   558,   559,   560,   561, -3012,
    8273             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
    8274             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8275             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    8276             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
    8277             :        0,   597,   598,  1337,   600,  1338,  1339,   602,   603,   604,
    8278             :      605,   606,  6029,   608,   609,   610,     0,  1340,   611,   612,
    8279             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    8280             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
    8281             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8282             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8283             :     1350,   647,   648,   649,   650,     0, -3012,     0,     0,     0,
    8284             :        0,     0,     0,     0,     0,     0,     0,     0,  1352,  1353,
    8285             :        0,     0,     0,   234,     0,  1271,   717,  1355,  1272,  1273,
    8286             :     1274,   778,  1275,     0,     0,     0,     0,     0,     0,     0,
    8287             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8288             :      244,   245,   246,     0,     0,     0,     0,  1276,     0,     0,
    8289             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8290             :      256,   257,   258,  1277,   260,  1278,  1279,     0,   263,   264,
    8291             :      265,   266,   267,   268,   269,  1280,  1281,   270,   271,  1282,
    8292             :     1283,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8293             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8294             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8295             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8296             :     1292,   303,   304,   305,   306,   307,   308,  1293,  1294,   311,
    8297             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8298             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
    8299             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8300             :      335,   336,   337,     0,   338,   339,   340,   341,  1296,   343,
    8301             :      344,   345,   346,  1297,  1298,   348,     0,   349,   350,   351,
    8302             :     1299,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    8303             :      359,   360,   361,   362,     0,   363,  1300,     0,  1301,   366,
    8304             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    8305             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    8306             :      385,     0,   386,   387,   388,   389,   390,   391,   392,  1302,
    8307             :     1303,     0,  1304,     0,   396,   397,   398,   399,   400,  1305,
    8308             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
    8309             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    8310             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    8311             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    8312             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,  1319,
    8313             :      447,  1320,   449,   450,   451,   452,   453,   454,   455,   456,
    8314             :      457,  1321,   459,     0,   460,   461,   462,   463,  1323,  1324,
    8315             :      465,  1325,   467,   468,   469,   470,     0,   471,   472,   473,
    8316             :        0,     0,  1326,   475,   476,     0,     0,   477,   478,   479,
    8317             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    8318             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    8319             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    8320             :      508,   509,   510,   511,   512,   513,   514,   515,  1329,   517,
    8321             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8322             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8323             :      536,   537,   538,   539,   540,  3319,   542,   543,   544,   545,
    8324             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8325             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8326             :      564,  1332,   566,     0,   567,   568,   569,   570,   571,   572,
    8327             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    8328             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    8329             :      590,   591,   592,   593,     0,   594,  1335,  1336,     0,     0,
    8330             :      597,   598,  1337,   600,  1338,  1339,   602,   603,   604,   605,
    8331             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    8332             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    8333             :     1342,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    8334             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8335             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8336             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    8337             :        0,     0,     0,     0,     0,     0,     0,  3320,  3321,   234,
    8338             :        0,  1271,   717,     0,  1272,  1273,  3322,   778,  1275,     0,
    8339             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
    8340             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8341             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8342             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8343             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8344             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8345             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8346             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8347             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    8348             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8349             :      306,   307,   308,  1293,  1294,   311,     0,   312,     0,   313,
    8350             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8351             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8352             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    8353             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    8354             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    8355             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    8356             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    8357             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    8358             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    8359             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    8360             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    8361             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    8362             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    8363             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    8364             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    8365             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    8366             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,     0,
    8367             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    8368             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    8369             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8370             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8371             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8372             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8373             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8374             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8375             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8376             :      540,  3499,  3500,   543,   544,   545,   546,   547,   548,   549,
    8377             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8378             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8379             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8380             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8381             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8382             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8383             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8384             :      610,     0,     0,   611,   612,   613,   614,   615,  1341,     0,
    8385             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8386             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8387             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8388             :     1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8389             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8390             :        0,     0,     0,  3501,  3502,   234,     0,  1271,   717,     0,
    8391             :     1272,  1273,  3322,   778,  1275,     0,     0,     0,     0,     0,
    8392             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
    8393             :      243,     0,   244,   245,   246,     0,     0,     0,     0,  1276,
    8394             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8395             :      254,   255,   256,   257,   258,  1277,   260,  1278,  1279,     0,
    8396             :      263,   264,   265,   266,   267,   268,   269,  1280,  1281,   270,
    8397             :      271,  1282,  1283,   274,     0,   275,   276,   277,   278,  1284,
    8398             :        0,  1285,     0,   281,   282,   283,   284,   285,   286,   287,
    8399             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8400             :      297,     0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,
    8401             :     1290,  1291,  1292,   303,   304,   305,   306,   307,   308,  1293,
    8402             :     1294,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    8403             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8404             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
    8405             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8406             :     1296,   343,   344,   345,   346,  1297,  1298,   348,     0,   349,
    8407             :      350,   351,  1299,   353,     0,   354,     0,   355,   356,   357,
    8408             :        0,   358,   359,   360,   361,   362,     0,   363,  1300,     0,
    8409             :     1301,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8410             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8411             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8412             :      392,  1302,  1303,     0,  1304,     0,   396,   397,   398,   399,
    8413             :      400,  1305,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,
    8414             :      410,  1314,   412,   413,   414,   415,   416,   417,   418,     0,
    8415             :        0,   419,  1315,   421,   422,   423,     0,   424,   425,   426,
    8416             :     1316,  1317,   427,   428,   429,   430,   431,   432,   433,   434,
    8417             :      435,   436,  1318,   438,   439,   440,   441,   442,   443,   444,
    8418             :      445,  1319,   447,  1320,   449,   450,   451,   452,   453,   454,
    8419             :      455,   456,   457,  1321,   459,     0,   460,   461,   462,   463,
    8420             :     1323,  1324,   465,  1325,   467,   468,   469,   470,     0,   471,
    8421             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    8422             :      478,   479,   480,   481,   482,  1327,   484,   485,   486,   487,
    8423             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8424             :      497,   498,  1328,   500,   501,   502,   503,   504,     0,   505,
    8425             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    8426             :     1329,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8427             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8428             :      534,   535,   536,   537,   538,   539,   540,  3319,   542,   543,
    8429             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
    8430             :      553,   554,   555,   556,  1331,   557,   558,   559,   560,   561,
    8431             :      562,   563,   564,  1332,   566,     0,   567,   568,   569,   570,
    8432             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8433             :      581,  1333,   583,     0,   584,   585,  1334,     0,   586,   587,
    8434             :      588,   589,   590,   591,   592,   593,     0,   594,  1335,  1336,
    8435             :        0,     0,   597,   598,  1337,   600,  1338,  1339,   602,   603,
    8436             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    8437             :      612,   613,   614,   615,  1341,     0,   616,   617,   618,   619,
    8438             :      620,   621,  1342,     0,   623,   624,   625,   626,   627,   628,
    8439             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
    8440             :      635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,
    8441             :     1349,  1350,   647,   648,   649,   650,     0,     0,     0,     0,
    8442             :        0,     0,   234,     0,  1271,   717,     0,  1272,  1273,     0,
    8443             :      778,  1275,     0,     0,     0,     0,     0,     0,  3322,   235,
    8444             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    8445             :      245,   246,     0,     0,     0,     0,  1276,     0,     0,   247,
    8446             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    8447             :      257,   258,  1277,   260,  1278,  1279,     0,   263,  4774,   265,
    8448             :      266,   267,   268,   269,  1280,  1281,   270,   271,  1282,  1283,
    8449             :      274,     0,   275,   276,   277,   278,  1284,     0,  1285,     0,
    8450             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    8451             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    8452             :      299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,
    8453             :      303,   304,   305,   306,   307,   308,  1293,  1294,   311,     0,
    8454             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    8455             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
    8456             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    8457             :      336,   337,     0,   338,   339,   340,   341,  1296,   343,   344,
    8458             :      345,   346,  1297,  1298,   348,     0,   349,   350,   351,  1299,
    8459             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    8460             :      360,   361,   362,     0,   363,  1300,     0,  1301,   366,   367,
    8461             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    8462             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    8463             :        0,   386,   387,   388,   389,   390,   391,   392,  1302,  1303,
    8464             :        0,  1304,     0,   396,   397,   398,   399,   400,  1305,  1306,
    8465             :     1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,
    8466             :      413,   414,   415,   416,   417,   418,     0,     0,   419,  1315,
    8467             :      421,   422,   423,     0,   424,   425,   426,  1316,  1317,   427,
    8468             :      428,   429,   430,   431,   432,   433,   434,   435,   436,  1318,
    8469             :      438,   439,   440,   441,   442,   443,   444,   445,  1319,   447,
    8470             :     1320,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    8471             :     1321,   459,     0,   460,   461,   462,   463,  1323,  1324,   465,
    8472             :     1325,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    8473             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
    8474             :      481,   482,  1327,   484,   485,   486,   487,   488,   489,   490,
    8475             :      491,   492,   493,   494,   495,     0,   496,   497,   498,  1328,
    8476             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    8477             :      509,   510,   511,   512,   513,   514,   515,  1329,   517,   518,
    8478             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    8479             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    8480             :      537,   538,   539,   540,  3319,   542,   543,   544,   545,   546,
    8481             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    8482             :      556,  1331,   557,   558,   559,   560,   561,   562,   563,   564,
    8483             :     1332,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    8484             :      574,   575,   576,   577,   578,   579,   580,   581,  1333,   583,
    8485             :        0,   584,   585,  1334,     0,   586,   587,   588,   589,   590,
    8486             :      591,   592,   593,     0,   594,  1335,  1336,     0,     0,   597,
    8487             :      598,  1337,   600,  1338,  1339,   602,   603,   604,   605,   606,
    8488             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
    8489             :      615,  1341,     0,   616,   617,   618,   619,   620,   621,  1342,
    8490             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    8491             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    8492             :     1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,
    8493             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   234,
    8494             :        0,  1271,   717,     0,  1272,  1273,     0,   778,  1275,     0,
    8495             :        0,     0,     0,     0,     0,  3322,   235,   236,   237,   238,
    8496             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    8497             :        0,     0,     0,  1276,     0,     0,   247,   248,   249,     0,
    8498             :      250,   251,   252,   253,   254,   255,   256,   257,   258,  1277,
    8499             :      260,  1278,  1279,     0,   263,   264,   265,   266,   267,   268,
    8500             :      269,  1280,  1281,   270,   271,  1282,  1283,   274,     0,   275,
    8501             :      276,   277,   278,  1284,     0,  1285,     0,   281,   282,   283,
    8502             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
    8503             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
    8504             :     1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,   305,
    8505             :      306,   307,   308,  1293,  1294,   311,     0,   312,     0,   313,
    8506             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    8507             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
    8508             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    8509             :      338,   339,   340,   341,  1296,   343,   344,   345,   346,  1297,
    8510             :     1298,   348,     0,   349,   350,   351,  1299,   353,     0,   354,
    8511             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
    8512             :        0,   363,  1300,     0,  1301,   366,   367,     0,   368,   369,
    8513             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
    8514             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
    8515             :      388,   389,   390,   391,   392,  1302,  1303,     0,  1304,     0,
    8516             :      396,   397,   398,   399,   400,  1305,  1306,  1307,  1308,  1309,
    8517             :     1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,   415,
    8518             :      416,   417,   418,     0,     0,   419,  1315,   421,   422,   423,
    8519             :        0,   424,   425,   426,  1316,  1317,   427,   428,   429,   430,
    8520             :      431,   432,   433,   434,   435,   436,  1318,   438,   439,   440,
    8521             :      441,   442,   443,   444,   445,  1319,   447,  1320,   449,   450,
    8522             :      451,   452,   453,   454,   455,   456,   457,  1321,   459,     0,
    8523             :      460,   461,   462,   463,  1323,  1324,   465,  1325,   467,   468,
    8524             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    8525             :      476,     0,     0,   477,   478,   479,   480,   481,   482,  1327,
    8526             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    8527             :      494,   495,     0,   496,   497,   498,  1328,   500,   501,   502,
    8528             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    8529             :      512,   513,   514,   515,  1329,   517,   518,   519,     0,   520,
    8530             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    8531             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
    8532             :      540,  3319,   542,   543,   544,   545,   546,   547,   548,   549,
    8533             :      550,   551,     0,   552,   553,   554,   555,   556,  1331,   557,
    8534             :      558,   559,   560,   561,   562,   563,   564,  1332,   566,     0,
    8535             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    8536             :      577,   578,   579,   580,   581,  1333,   583,     0,   584,   585,
    8537             :     1334,     0,   586,   587,   588,   589,   590,   591,   592,   593,
    8538             :        0,   594,  1335,  1336,     0,     0,   597,   598,  1337,   600,
    8539             :     1338,  1339,   602,   603,   604,   605,   606,   607,   608,   609,
    8540             :      610,     0,     0,   611,   612,   613,   614,   615,  1341,     0,
    8541             :      616,   617,   618,   619,   620,   621,  1342,     0,   623,   624,
    8542             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
    8543             :      631,   632,   633,   634,   635,   636,   637,  1343,  1344,  1345,
    8544             :     1346,  4834,  1347,  1348,  1349,  1350,   647,   648,   649,   650,
    8545             :        0,     0,     0,     0,     0,     0,   234,     0,     0,     0,
    8546             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8547             :        0,     0,  3322,   235,   236,   237,   238,   239,   240,   241,
    8548             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    8549             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    8550             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
    8551             :        0,   263,   264,   265,   266,   267,   268,   269,     0,  1281,
    8552             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
    8553             :     1284,     0,  1285,     0,   281,   282,   283,   284,   285,   286,
    8554             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    8555             :      296,   297,     0,   298,   299,   300,   301,  1286,  1287,  1288,
    8556             :     1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,   308,
    8557             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
    8558             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    8559             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
    8560             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    8561             :      341,   342,   343,   344,   345,   346,  1297,     0,   348,     0,
    8562             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
    8563             :      357,     0,   358,   359,   360,   361,   362,     0,   363,  1300,
    8564             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
    8565             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    8566             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
    8567             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
    8568             :      399,   400,  3470,  1306,  1307,  1308,  1309,  1310,  1311,  1312,
    8569             :     1313,  3471,  1314,   412,   413,   414,   415,   416,   417,   418,
    8570             :     3472,     0,   419,  1315,   421,   422,   423,     0,   424,   425,
    8571             :      426,  1316,  1317,   427,   428,   429,   430,   431,   432,   433,
    8572             :      434,   435,   436,  1318,   438,   439,   440,   441,   442,   443,
    8573             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
    8574             :      454,   455,   456,   457,  1321,   459,     0,   460,   461,   462,
    8575             :      463,     0,  1324,   465,   466,   467,   468,   469,   470,     0,
    8576             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
    8577             :      477,   478,   479,   480,   481,   482,  1327,   484,   485,   486,
    8578             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    8579             :      496,   497,   498,  1328,   500,   501,   502,   503,   504,     0,
    8580             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    8581             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    8582             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    8583             :      533,   534,   535,   536,   537,   538,   539,   540,   541,  3473,
    8584             :      543,   544,   545,   546,   547,   548,   549,   550,   551,    40,
    8585             :      552,   553,   554,   555,   556,  1331,   557,   558,   559,   560,
    8586             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
    8587             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    8588             :      580,   581,  1333,   583,     0,   584,   585,  1334,    44,   586,
    8589             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
    8590             :      596,     0,     0,   597,   598,  1337,   600,  1338,     0,   602,
    8591             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
    8592             :      611,   612,   613,   614,   615,  1341,     0,   616,   617,   618,
    8593             :      619,   620,  1206,   622,     0,   623,   624,   625,   626,   627,
    8594             :      628,   629,     0,     0,   630,     0,    49,   631,   632,   633,
    8595             :      634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,  1347,
    8596             :     1348,  1349,  1350,  3474,   648,   649,   650,     0,     0,     0,
    8597             :       50,     0,     0,   234,     0,     0,     0,     0,     0,     0,
    8598             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  3475,
    8599             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    8600             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
    8601             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
    8602             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
    8603             :      265,   266,   267,   268,   269,     0,  1281,   270,   271,   272,
    8604             :      273,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
    8605             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
    8606             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    8607             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
    8608             :     1292,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    8609             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    8610             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
    8611             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    8612             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
    8613             :      344,   345,   346,  1297,     0,   348,     0,   349,   350,   351,
    8614             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
    8615             :      359,   360,   361,   362,     0,   363,  1300,     0,   365,   366,
    8616             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
    8617             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    8618             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
    8619             :      394,     0,   395,     0,   396,   397,   398,   399,   400,  3470,
    8620             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,  3471,  1314,
    8621             :      412,   413,   414,   415,   416,   417,   418,  3472,     0,   419,
    8622             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
    8623             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    8624             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,   446,
    8625             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    8626             :      457,  1321,   459,     0,   460,   461,   462,   463,     0,  1324,
    8627             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
    8628             :        0,   862,   474,   475,   476,     0,     0,   477,   478,   479,
    8629             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
    8630             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    8631             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    8632             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
    8633             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    8634             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
    8635             :      536,   537,   538,   539,   540,   541,  3473,   543,   544,   545,
    8636             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    8637             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
    8638             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
    8639             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
    8640             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
    8641             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
    8642             :      597,   598,  1337,   600,  1338,     0,   602,   603,   604,   605,
    8643             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    8644             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
    8645             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
    8646             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    8647             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
    8648             :     3474,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    8649             :      234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8650             :        0,     0,     0,     0,     0,     0,  3475,   235,   236,   237,
    8651             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    8652             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
    8653             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
    8654             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
    8655             :      268,   269,     0,  1281,   270,   271,   272,   273,   274,     0,
    8656             :      275,   276,   277,   278,  1284,     0,  1285,     0,   281,   282,
    8657             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
    8658             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
    8659             :      301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,   304,
    8660             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
    8661             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    8662             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
    8663             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    8664             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    8665             :     1297,     0,   348,     0,   349,   350,   351,   352,   353,     0,
    8666             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
    8667             :      362,     0,   363,  1300,     0,   365,   366,   367,     0,   368,
    8668             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
    8669             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    8670             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
    8671             :        0,   396,   397,   398,   399,   400,  3470,  1306,  1307,  1308,
    8672             :     1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,   414,
    8673             :      415,   416,   417,   418,     0,     0,   419,  1315,   421,   422,
    8674             :      423,     0,   424,   425,   426,  1316,  1317,   427,   428,   429,
    8675             :      430,   431,   432,   433,   434,   435,   436,  1318,   438,   439,
    8676             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
    8677             :      450,   451,   452,   453,   454,   455,   456,   457,  1321,   459,
    8678             :        0,   460,   461,   462,   463,     0,  1324,   465,   466,   467,
    8679             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
    8680             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
    8681             :     1327,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    8682             :      493,   494,   495,     0,   496,   497,   498,  1328,   500,   501,
    8683             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    8684             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
    8685             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    8686             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
    8687             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    8688             :      549,   550,   551,     0,   552,   553,   554,   555,   556,  1331,
    8689             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
    8690             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    8691             :      576,   577,   578,   579,   580,   581,  1333,   583,     0,   584,
    8692             :      585,  1334,     0,   586,   587,   588,   589,   590,   591,   592,
    8693             :      593,     0,   594,   595,   596,     0,     0,   597,   598,  1337,
    8694             :      600,  1338,     0,   602,   603,   604,   605,   606,   607,   608,
    8695             :      609,   610,     0,     0,   611,   612,   613,   614,   615,  1341,
    8696             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
    8697             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    8698             :        0,   631,   632,   633,   634,   635,   636,   637,  1343,  1344,
    8699             :     1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,   649,
    8700             :      650,     0,     0,     0,     0,     0,     0,   234,     0,     0,
    8701             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8702             :        0,     0,     0,  3920,   235,   236,   237,   238,   239,   240,
    8703             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    8704             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    8705             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
    8706             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    8707             :     1281,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    8708             :      278,  1284,     0,  1285,     0,   281,   282,   283,   284,   285,
    8709             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
    8710             :      295,   296,   297,     0,   298,   299,   300,   301,  1286,  1287,
    8711             :     1288,  1289,  1290,  1291,  1292,   303,   304,   305,   306,   307,
    8712             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    8713             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    8714             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    8715             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    8716             :      340,   341,   342,   343,   344,   345,   346,  1297,     0,   348,
    8717             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    8718             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
    8719             :     1300,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    8720             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
    8721             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
    8722             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
    8723             :      398,   399,   400,  3470,  1306,  1307,  1308,  1309,  1310,  1311,
    8724             :     1312,  1313,  3471,  1314,   412,   413,   414,   415,   416,   417,
    8725             :      418,     0,     0,   419,  1315,   421,   422,   423,     0,   424,
    8726             :      425,   426,  1316,  1317,   427,   428,   429,   430,   431,   432,
    8727             :      433,   434,   435,   436,  1318,   438,   439,   440,   441,   442,
    8728             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
    8729             :      453,   454,   455,   456,   457,  1321,   459,     0,   460,   461,
    8730             :      462,   463,     0,  1324,   465,   466,   467,   468,   469,   470,
    8731             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    8732             :        0,   477,   478,   479,   480,   481,   482,  1327,   484,   485,
    8733             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    8734             :        0,   496,   497,   498,  1328,   500,   501,   502,   503,   504,
    8735             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    8736             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    8737             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    8738             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
    8739             :     3473,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    8740             :        0,   552,   553,   554,   555,   556,  1331,   557,   558,   559,
    8741             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
    8742             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    8743             :      579,   580,   581,  1333,   583,     0,   584,   585,  1334,     0,
    8744             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
    8745             :      595,   596,     0,     0,   597,   598,  1337,   600,  1338,     0,
    8746             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    8747             :        0,   611,   612,   613,   614,   615,  1341,     0,   616,   617,
    8748             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
    8749             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    8750             :      633,   634,   635,   636,   637,  1343,  1344,  1345,  1346,   642,
    8751             :     1347,  1348,  1349,  1350,  3474,   648,   649,   650,     0,     0,
    8752             :        0,     0,     0,     0,   234,     0,     0,     0,     0,     0,
    8753             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    8754             :       56,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    8755             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    8756             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
    8757             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
    8758             :      264,   265,   266,   267,   268,   269,     0,  1281,   270,   271,
    8759             :      272,   273,   274,     0,   275,   276,   277,   278,  1284,     0,
    8760             :     1285,     0,   281,   282,   283,   284,   285,   286,   287,   288,
    8761             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    8762             :        0,   298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,
    8763             :     1291,  1292,   303,   304,   305,   306,   307,   308,   309,   310,
    8764             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    8765             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    8766             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    8767             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    8768             :      343,   344,   345,   346,  1297,     0,   348,     0,   349,   350,
    8769             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
    8770             :      358,   359,   360,   361,   362,     0,   363,  1300,     0,   365,
    8771             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
    8772             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    8773             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
    8774             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
    8775             :     3470,  1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,
    8776             :     1314,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    8777             :      419,  1315,   421,   422,   423,     0,   424,   425,   426,  1316,
    8778             :     1317,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    8779             :      436,  1318,   438,   439,   440,   441,   442,   443,   444,   445,
    8780             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
    8781             :      456,   457,  1321,   459,     0,   460,   461,   462,   463,     0,
    8782             :     1324,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    8783             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    8784             :      479,   480,   481,   482,  1327,   484,   485,   486,   487,   488,
    8785             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    8786             :      498,  1328,   500,   501,   502,   503,   504,     0,   505,   506,
    8787             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    8788             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    8789             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    8790             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    8791             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    8792             :      554,   555,   556,  1331,   557,   558,   559,   560,   561,   562,
    8793             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    8794             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    8795             :     1333,   583,     0,   584,   585,  1334,     0,   586,   587,   588,
    8796             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    8797             :        0,   597,   598,  1337,   600,  1338,     0,   602,   603,   604,
    8798             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    8799             :      613,   614,   615,  1341,     0,   616,   617,   618,   619,   620,
    8800             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
    8801             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    8802             :      636,   637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,
    8803             :     1350,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    8804             :        0,   234,     0,     0,     0,     0,     0,     0,     0,     0,
    8805             :        0,     0,     0,     0,     0,     0,     0,  4922,   235,   236,
    8806             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
    8807             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
    8808             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
    8809             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
    8810             :      267,   268,   269,     0,  1281,   270,   271,   272,   273,   274,
    8811             :        0,   275,   276,   277,   278,  1284,     0,  1285,     0,   281,
    8812             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
    8813             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
    8814             :      300,   301,  1286,  1287,  1288,  1289,  1290,  1291,  1292,   303,
    8815             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
    8816             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
    8817             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
    8818             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
    8819             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
    8820             :      346,  1297,     0,   348,     0,   349,   350,   351,   352,   353,
    8821             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
    8822             :      361,   362,     0,   363,  1300,     0,   365,   366,   367,     0,
    8823             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
    8824             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
    8825             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
    8826             :      395,     0,   396,   397,   398,   399,   400,  3470,  1306,  1307,
    8827             :     1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,   412,   413,
    8828             :      414,   415,   416,   417,   418,     0,     0,   419,  1315,   421,
    8829             :      422,   423,     0,   424,   425,   426,  1316,  1317,   427,   428,
    8830             :      429,   430,   431,   432,   433,   434,   435,   436,  1318,   438,
    8831             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
    8832             :      449,   450,   451,   452,   453,   454,   455,   456,   457,  1321,
    8833             :      459,     0,   460,   461,   462,   463,     0,  1324,   465,   466,
    8834             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
    8835             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
    8836             :      482,  1327,   484,   485,   486,   487,   488,   489,   490,   491,
    8837             :      492,   493,   494,   495,     0,   496,   497,   498,  1328,   500,
    8838             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
    8839             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
    8840             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
    8841             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
    8842             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
    8843             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
    8844             :     1331,   557,   558,   559,   560,   561,   562,   563,   564,   565,
    8845             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
    8846             :      575,   576,   577,   578,   579,   580,   581,  1333,   583,     0,
    8847             :      584,   585,  1334,     0,   586,   587,   588,   589,   590,   591,
    8848             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
    8849             :     1337,   600,  1338,     0,   602,   603,   604,   605,   606,   607,
    8850             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
    8851             :     1341,     0,   616,   617,   618,   619,   620,   621,   622,     0,
    8852             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
    8853             :        0,     0,   631,   632,   633,   634,   635,   636,   637,  1343,
    8854             :     1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,   647,   648,
    8855             :      649,   650,     0,     0,     0,     0,     0,     0,   967,     0,
    8856             :     1603,   717,     0,     0,     0,     0,   778,     0,     0,     0,
    8857             :        0,     0,     0,     0,  6134,   235,   236,   237,   238,   239,
    8858             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    8859             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    8860             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
    8861             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    8862             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    8863             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
    8864             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
    8865             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
    8866             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
    8867             :      307,   308,   309,   310,   311,  5922,   312,     0,   313,   314,
    8868             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    8869             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    8870             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    8871             :      339,   340,   341,   342,   343,   344,   345,   346,   347,  1829,
    8872             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
    8873             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
    8874             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
    8875             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
    8876             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
    8877             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
    8878             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
    8879             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    8880             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
    8881             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
    8882             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    8883             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
    8884             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
    8885             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
    8886             :      470,     0,   471,   472,   473,  1830,     0,   474,   475,   476,
    8887             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
    8888             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    8889             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
    8890             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    8891             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    8892             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    8893             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
    8894             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    8895             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    8896             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
    8897             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    8898             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
    8899             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
    8900             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
    8901             :     1831,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    8902             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
    8903             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
    8904             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    8905             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
    8906             :      642,   643,   644,   645,   646,   647,   648,   649,   650,     0,
    8907             :        0,     0,     0,     0,     0,   967,     0,     0,     0,     0,
    8908             :        0,     0,  1604,  1605,  5923,     0,     0,     0,     0,     0,
    8909             :        0,  5924,   235,   236,   237,   238,   239,   240,   241,   242,
    8910             :      243,     0,   244,   245,   246,     3,     4,     0,     0,     0,
    8911             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
    8912             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
    8913             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
    8914             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
    8915             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
    8916             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
    8917             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
    8918             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
    8919             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
    8920             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
    8921             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
    8922             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
    8923             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
    8924             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
    8925             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
    8926             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
    8927             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
    8928             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
    8929             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
    8930             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
    8931             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
    8932             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
    8933             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
    8934             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
    8935             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
    8936             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
    8937             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
    8938             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
    8939             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
    8940             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
    8941             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
    8942             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
    8943             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
    8944             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
    8945             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
    8946             :      544,   545,   546,   547,   548,   549,   550,   551,    40,   552,
    8947             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
    8948             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
    8949             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
    8950             :      581,   582,   583,     0,   584,   585,     0,    44,   586,   587,
    8951             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
    8952             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
    8953             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
    8954             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
    8955             :      620,  1206,   622,     0,   623,   624,   625,   626,   627,   628,
    8956             :      629,     0,     0,   630,     0,    49,   631,   632,   633,   634,
    8957             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
    8958             :      645,   646,   647,   648,   649,   650,  1046,     0,     0,    50,
    8959             :        0,     0,   234,     0,     0,     0,     0,     0,     0,     0,
    8960             :        0,     0,     0,     0,     0,     0,     0,     0,    56,   235,
    8961             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
    8962             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
    8963             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
    8964             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
    8965             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
    8966             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
    8967             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
    8968             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
    8969             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
    8970             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
    8971             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
    8972             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
    8973             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
    8974             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
    8975             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
    8976             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
    8977             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
    8978             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
    8979             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
    8980             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
    8981             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
    8982             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
    8983             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
    8984             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
    8985             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
    8986             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
    8987             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
    8988             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
    8989             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
    8990             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
    8991             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
    8992             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
    8993             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
    8994             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
    8995             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
    8996             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
    8997             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
    8998             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
    8999             :      556,     0,   557,   558,   559,   560,   561,   562,   563,   564,
    9000             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
    9001             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
    9002             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
    9003             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
    9004             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
    9005             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
    9006             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
    9007             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
    9008             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
    9009             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
    9010             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   658,
    9011             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9012             :        0,     0,     0,     0,     0,  5666,   235,   236,   237,   238,
    9013             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    9014             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
    9015             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
    9016             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
    9017             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
    9018             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
    9019             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
    9020             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
    9021             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
    9022             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
    9023             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    9024             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
    9025             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    9026             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
    9027             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
    9028             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
    9029             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
    9030             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
    9031             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
    9032             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
    9033             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
    9034             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
    9035             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
    9036             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
    9037             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
    9038             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
    9039             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
    9040             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
    9041             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    9042             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
    9043             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    9044             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
    9045             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    9046             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
    9047             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    9048             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
    9049             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
    9050             :      550,   551,    40,   552,   553,   554,   555,   556,     0,   557,
    9051             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
    9052             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    9053             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
    9054             :        0,    44,   586,     0,   588,   589,   590,   591,   592,   593,
    9055             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
    9056             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
    9057             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
    9058             :      616,   617,   618,   619,   620,  1206,   622,     0,   623,     0,
    9059             :      625,   626,   627,   628,   629,     0,     0,   630,     0,    49,
    9060             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
    9061             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
    9062             :        0,     0,     0,    50,     0,     0,   658,     0,     0,     0,
    9063             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9064             :        0,     0,    56,   235,   236,   237,   238,   239,   240,   241,
    9065             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
    9066             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
    9067             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
    9068             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
    9069             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
    9070             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
    9071             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
    9072             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
    9073             :     2909,     0,     0,     0,   303,   304,   305,   306,   307,   308,
    9074             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
    9075             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
    9076             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
    9077             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
    9078             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
    9079             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
    9080             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
    9081             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
    9082             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
    9083             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
    9084             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
    9085             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
    9086             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
    9087             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
    9088             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
    9089             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
    9090             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
    9091             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
    9092             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
    9093             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
    9094             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
    9095             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
    9096             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
    9097             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
    9098             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
    9099             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
    9100             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
    9101             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
    9102             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
    9103             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
    9104             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
    9105             :      580,   581,   582,   583,     0,   584,   585,     0,  2910,  2911,
    9106             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
    9107             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
    9108             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
    9109             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
    9110             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
    9111             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
    9112             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
    9113             :      644,   645,   646,   647,   648,   649,   650,     0,     0,     0,
    9114             :        0,     0,     0,   658,     0,     0,     0,     0,     0,     0,
    9115             :        0,     0,     0,     0,     0,     0,     0,     0,     0,  1863,
    9116             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
    9117             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
    9118             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
    9119             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
    9120             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
    9121             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
    9122             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
    9123             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
    9124             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
    9125             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
    9126             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
    9127             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
    9128             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
    9129             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
    9130             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
    9131             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
    9132             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
    9133             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
    9134             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
    9135             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
    9136             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
    9137             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
    9138             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
    9139             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
    9140             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
    9141             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
    9142             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
    9143             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
    9144             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
    9145             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
    9146             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
    9147             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
    9148             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
    9149             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
    9150             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
    9151             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
    9152             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
    9153             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
    9154             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
    9155             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
    9156             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
    9157             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
    9158             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
    9159             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
    9160             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
    9161             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
    9162             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
    9163             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
    9164             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
    9165             :      647,   648,   649,   650,     0,     0,     0,     0,     0,     0,
    9166             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9167             :        0,     0,     0,     0,     0,     0,  1415,   235,   236,   237,
    9168             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
    9169             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
    9170             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
    9171             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
    9172             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
    9173             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
    9174             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
    9175             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
    9176             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
    9177             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
    9178             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
    9179             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
    9180             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
    9181             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
    9182             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
    9183             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
    9184             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
    9185             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
    9186             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
    9187             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
    9188             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
    9189             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
    9190             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
    9191             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
    9192             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
    9193             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
    9194             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
    9195             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
    9196             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
    9197             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
    9198             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
    9199             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
    9200             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
    9201             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
    9202             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
    9203             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
    9204             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
    9205             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
    9206             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
    9207             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
    9208             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
    9209             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
    9210             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
    9211             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
    9212             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
    9213             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
    9214             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
    9215             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
    9216             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
    9217             :      650,     0,     0,     0,     0,     0,     0,   658,     0,     0,
    9218             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9219             :        0,     0,     0,  3533,   235,   236,   237,   238,   239,   240,
    9220             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
    9221             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
    9222             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
    9223             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
    9224             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
    9225             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
    9226             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
    9227             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
    9228             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
    9229             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
    9230             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
    9231             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
    9232             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
    9233             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
    9234             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
    9235             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
    9236             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
    9237             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
    9238             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
    9239             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
    9240             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
    9241             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    9242             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
    9243             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
    9244             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    9245             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
    9246             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
    9247             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
    9248             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
    9249             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
    9250             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    9251             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    9252             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    9253             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
    9254             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    9255             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
    9256             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    9257             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
    9258             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
    9259             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    9260             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
    9261             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
    9262             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
    9263             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
    9264             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
    9265             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
    9266             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
    9267             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    9268             :      643,   644,   645,   646,   647,   648,   649,   650,     0,     0,
    9269             :        0,     0,     0,     0,   658,     0,     0,     0,     0,     0,
    9270             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9271             :     4208,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9272             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9273             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9274             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9275             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9276             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9277             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9278             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9279             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9280             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9281             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9282             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9283             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9284             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9285             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9286             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9287             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9288             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9289             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9290             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9291             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9292             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9293             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9294             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9295             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9296             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9297             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9298             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9299             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9300             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9301             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9302             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9303             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9304             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9305             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9306             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9307             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9308             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9309             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9310             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9311             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9312             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9313             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9314             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9315             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9316             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9317             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9318             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9319             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9320             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9321             :        0,     0,     0,     0,  2110,     0,     0,     0,     0,     0,
    9322             :        0,  2111,     0,     0,  2112,     0,     0,  4851,  2113,  2114,
    9323             :     2115,  2116,  2117,  2118,  2119,  2120,  2121,  2122,  2123,  2124,
    9324             :     2125,  2126,  2127,  2128,  2129,  2130,  2131,  2132,     0,  2133,
    9325             :     2134,  2135,  2136,  2137,  2138,  2139,  2140,  2141,  2142,  2143,
    9326             :     2144,  2145,  2146,  2147,  2148,  2149,  2150,  2151,  2152,  2153,
    9327             :     2154,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,  2163,
    9328             :        0,     0,  2164,  2165,  2166,  2167,  2168,  2169,  2170,  2171,
    9329             :     2172,  2173,  2174,  2175,  2176,  2177,  2178,  2179,  2180,  2181,
    9330             :     2182,  2183,  2184,  2185,  2186,  2187,  2188,  2189,  2190,  2191,
    9331             :        0,  2192,  2193,  2194,  2195,  2196,  2197,  2198,  2199,  2200,
    9332             :     2201,  2202,  2203,  2204,  2205,  2206,     0,  2207,  2208,  2209,
    9333             :     2210,  2211,  2212,  2213,  2214,  2215,  2216,  2217,  2218,  2219,
    9334             :     2220,  2221,  2222,  2223,  2224,  2225,  2226,  2227,  2228,  2229,
    9335             :     2230,  2231,  2232,  2233,  2234,  2235,  2236,  2237,  2238,  2239,
    9336             :     2240,  2241,  2242,  2243,     0,  2244,  2245,  2246,  2247,  2248,
    9337             :     2249,  2250,  2251,  2252,  2253,  2254,  2255,     0,     0,  2256,
    9338             :     2257,  2258,  2259,     0,  2260,  2261,  2262,  2263,  2264,     0,
    9339             :     2265,  2266,  2267,  2268,  2269,     0,  2270,  2271,     0,  2272,
    9340             :     2273,  2274,     0,  2275,  2276,     0,  2277,  2278,  2279,  2280,
    9341             :     2281,  2282,  2283,  2284,  2285,  2286,  2287,  2288,  2289,  2290,
    9342             :     2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,  2300,
    9343             :     2301,  2302,     0,  2303,     0,  2304,  2305,  2306,  2307,  2308,
    9344             :     2309,  2310,  2311,  2312,  2313,  2314,  2315,  2316,  2317,  2318,
    9345             :     2319,  2320,  2321,  2322,  2323,  2324,  2325,  2326,  2327,  2328,
    9346             :     2329,  2330,  2331,  2332,  2333,     0,  2334,  2335,  2336,  2337,
    9347             :     2338,  2339,  2340,  2341,  2342,  2343,  2344,  2345,  2346,  2347,
    9348             :     2348,  2349,  2350,     0,  2351,  2352,     0,  2353,  2354,  2355,
    9349             :     2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,  2365,
    9350             :     2366,  2367,  2368,  2369,  2370,  2371,  2372,  2373,  2374,  2375,
    9351             :     2376,  2377,  2378,  2379,  2380,  2381,  2382,     0,  2383,  2384,
    9352             :     2385,     0,  2386,  2387,  2388,  2389,  2390,     0,  2391,  2392,
    9353             :     2393,  2394,     0,     0,  2395,  2396,  2397,  2398,  2399,  2400,
    9354             :     2401,  2402,  2403,  2404,  2405,  2406,  2407,  2408,  2409,  2410,
    9355             :     2411,  2412,  2413,     0,  2414,  2415,  2416,  2417,  2418,  2419,
    9356             :     2420,  2421,  2422,  2423,  2424,  2425,  2426,  2427,  2428,  2429,
    9357             :     2430,  2431,  2432,  2433,  2434,  2435,  2436,  2437,  2438,  2439,
    9358             :     2440,  2441,  2442,  2443,  2444,  2445,  2446,     0,  2447,  2448,
    9359             :     2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
    9360             :     2459,  2460,  2461,  2462,  2463,     0,  2464,  2465,  2466,  2467,
    9361             :     2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
    9362             :     2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
    9363             :     2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,
    9364             :     2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,
    9365             :     2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,  2516,     0,
    9366             :     2517,  2518,  2519,  2520,  2521,  2522,  2523,  2524,  2525,  2526,
    9367             :     2527,  2528,  2529,  2530,  2531,  2532,     0,  2533,  2534,  2535,
    9368             :     2536,  2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,
    9369             :     2546,  2547,  2548,     0,  2549,  2550,  2551,  2552,  2553,  2554,
    9370             :     2555,     0,  2556,     0,     0,     0,     0,  2557,  2558,  2559,
    9371             :     2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,  2568,  2569,
    9372             :     2570,  2571,     0,  2572,  2573,     0,  2574,     0,     0,     0,
    9373             :        0,     0,     0,     0,     0,  2575,  2576,  2577,  2578,  2579,
    9374             :     2580,  2581,  2582,  2583,   879,     0,  1603,   717,     0,     0,
    9375             :        0,   982,   778,     0,     0,     0,     0,     0,   983,   984,
    9376             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9377             :     1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,  1747,
    9378             :     1748,   247,   248,   249,  1749,   250,   251,   252,   253,   254,
    9379             :      255,   256,   257,     0,   880,   260,   881,   882,  1750,   263,
    9380             :      264,   265,   266,   267,   268,   269,  1751,  1752,   270,   271,
    9381             :      883,   884,   274,  1753,   275,   276,   277,   278,     0,  1754,
    9382             :      280,  1755,   281,   282,   283,   284,   285,   286,   287,   288,
    9383             :      289,   290,   291,  1756,   292,   293,   294,   295,   296,   297,
    9384             :     1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,  1761,
    9385             :     1762,  1763,   303,   304,   305,   306,   307,   308,   885,   886,
    9386             :      311,  1764,   312,  1765,   313,   314,   315,   316,   317,   318,
    9387             :      319,  1766,   320,   321,   322,   323,  1767,  1768,   324,   325,
    9388             :      887,   327,   328,  1769,   329,   330,   331,   332,  1770,   333,
    9389             :      334,   335,   336,   337,  1771,   338,   339,   340,   341,     0,
    9390             :      343,   344,   345,   346,     0,  1772,   348,  1773,   349,   350,
    9391             :      351,   888,   353,  1774,   354,  1775,   355,   356,   357,  1776,
    9392             :      358,   359,   360,   361,   362,  1777,   363,     0,  1778,     0,
    9393             :      366,   367,  1779,   368,   369,   370,   371,   372,   373,   374,
    9394             :      375,   376,   377,  1780,   378,   379,   380,   381,   382,   383,
    9395             :      384,   385,  1781,   386,   387,     0,   389,   390,   391,   392,
    9396             :      889,   890,  1782,   891,  1783,   396,   397,   398,   399,   400,
    9397             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9398             :        0,   412,   413,   414,   415,   416,   417,   418,  1784,  1785,
    9399             :      419,     0,   421,   422,   423,  1786,   424,   425,   426,  1787,
    9400             :     1788,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9401             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
    9402             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
    9403             :      456,  4533,     0,   459,  1789,   460,   461,   462,   463,  1790,
    9404             :        0,   465,   895,   467,   468,   469,   470,  1791,   471,   472,
    9405             :      473,  1792,  1793,  4534,   475,   476,  1794,  1795,   477,   478,
    9406             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
    9407             :      489,   490,   491,   492,   493,   494,   495,  1796,   496,   497,
    9408             :      498,     0,   500,     0,   502,   503,   504,  1797,   505,   506,
    9409             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
    9410             :      517,   518,   519,  1798,   520,   521,   522,   523,   524,   525,
    9411             :      526,   527,   528,   529,   530,   531,   532,  1799,   533,   534,
    9412             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
    9413             :      545,   546,   547,   548,   549,   550,   551,  1800,   552,   553,
    9414             :      554,   555,   556,  1801,   557,   558,  2735,   560,   561,   562,
    9415             :      563,   564,   898,   566,  1802,   567,   568,   569,   570,   571,
    9416             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9417             :        0,   583,  1803,   584,   585,  1804,  1805,   586,   587,   588,
    9418             :      589,   590,   591,   592,   593,  1806,   594,   899,   900,  1807,
    9419             :     1808,   597,   598,     0,   600,     0,  1809,   602,   603,   604,
    9420             :      605,   606,   607,   608,   609,   610,  1810,  1811,   611,   612,
    9421             :      613,   614,   615,  1812,  1813,   616,   617,   618,   619,   620,
    9422             :        0,   901,  1814,   623,   624,   625,   626,   627,   628,   629,
    9423             :     1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,   635,
    9424             :      636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9425             :        0,     0,   648,   649,   650,     0,     0,     0,     0,     0,
    9426             :        0,     0,     0,     0,     0,   988,   989,   990,  4535,  4536,
    9427             :      993,   994,   995,   996,   879,     0,  1603,   717,     0,     0,
    9428             :        0,   982,   778,     0,     0,     0,     0,     0,   983,   984,
    9429             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9430             :     1741,   244,   245,   246,  1742,  1743,  1744,  1745,  1746,  1747,
    9431             :     1748,   247,   248,   249,  1749,   250,   251,   252,   253,   254,
    9432             :      255,   256,   257,     0,   880,   260,   881,   882,  1750,   263,
    9433             :      264,   265,   266,   267,   268,   269,  1751,  1752,   270,   271,
    9434             :      883,   884,   274,  1753,   275,   276,   277,   278,     0,  1754,
    9435             :      280,  1755,   281,   282,   283,   284,   285,   286,   287,   288,
    9436             :      289,   290,   291,  1756,   292,   293,   294,   295,   296,   297,
    9437             :     1757,   298,   299,   300,   301,  1758,  1759,  1760,   302,  1761,
    9438             :     1762,  1763,   303,   304,   305,   306,   307,   308,   885,   886,
    9439             :      311,  1764,   312,  1765,   313,   314,   315,   316,   317,   318,
    9440             :      319,  1766,   320,   321,   322,   323,  1767,  1768,   324,   325,
    9441             :      887,   327,   328,  1769,   329,   330,   331,   332,  1770,   333,
    9442             :      334,   335,   336,   337,  1771,   338,   339,   340,   341,     0,
    9443             :      343,   344,   345,   346,     0,  1772,   348,  1773,   349,   350,
    9444             :      351,   888,   353,  1774,   354,  1775,   355,   356,   357,  1776,
    9445             :      358,   359,   360,   361,   362,  1777,   363,     0,  1778,     0,
    9446             :      366,   367,  1779,   368,   369,   370,   371,   372,   373,   374,
    9447             :      375,   376,   377,  1780,   378,   379,   380,   381,   382,   383,
    9448             :      384,   385,  1781,   386,   387,     0,   389,   390,   391,   392,
    9449             :      889,   890,  1782,   891,  1783,   396,   397,   398,   399,   400,
    9450             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9451             :        0,   412,   413,   414,   415,   416,   417,   418,  1784,  1785,
    9452             :      419,     0,   421,   422,   423,  1786,   424,   425,   426,  1787,
    9453             :     1788,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9454             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
    9455             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
    9456             :      456,  4994,     0,   459,  1789,   460,   461,   462,   463,  1790,
    9457             :        0,   465,   895,   467,   468,   469,   470,  1791,   471,   472,
    9458             :      473,  1792,  1793,  4534,   475,   476,  1794,  1795,   477,   478,
    9459             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
    9460             :      489,   490,   491,   492,   493,   494,   495,  1796,   496,   497,
    9461             :      498,     0,   500,     0,   502,   503,   504,  1797,   505,   506,
    9462             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
    9463             :      517,   518,   519,  1798,   520,   521,   522,   523,   524,   525,
    9464             :      526,   527,   528,   529,   530,   531,   532,  1799,   533,   534,
    9465             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
    9466             :      545,   546,   547,   548,   549,   550,   551,  1800,   552,   553,
    9467             :      554,   555,   556,  1801,   557,   558,  2735,   560,   561,   562,
    9468             :      563,   564,   898,   566,  1802,   567,   568,   569,   570,   571,
    9469             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9470             :        0,   583,  1803,   584,   585,  1804,  1805,   586,   587,   588,
    9471             :      589,   590,   591,   592,   593,  1806,   594,   899,   900,  1807,
    9472             :     1808,   597,   598,     0,   600,     0,  1809,   602,   603,   604,
    9473             :      605,   606,   607,   608,   609,   610,  1810,  1811,   611,   612,
    9474             :      613,   614,   615,  1812,  1813,   616,   617,   618,   619,   620,
    9475             :        0,   901,  1814,   623,   624,   625,   626,   627,   628,   629,
    9476             :     1815,  1816,   630,  1817,  1818,   631,   632,   633,   634,   635,
    9477             :      636,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9478             :        0,     0,   648,   649,   650,     0,     0,     0,     0,     0,
    9479             :        0,     0,     0,     0,     0,   988,   989,   990,  4535,  4536,
    9480             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9481             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9482             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9483             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9484             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9485             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9486             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9487             :      272,   273,   274,     0,   275,   986,   277,   278,   279,     0,
    9488             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9489             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9490             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9491             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9492             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9493             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9494             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9495             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9496             :      343,   344,   345,   346,   347,     0,   987,     0,   349,   350,
    9497             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9498             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9499             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9500             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9501             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9502             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9503             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9504             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9505             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9506             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9507             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9508             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9509             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9510             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9511             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9512             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9513             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9514             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9515             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9516             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9517             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9518             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9519             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9520             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9521             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9522             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9523             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9524             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9525             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9526             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9527             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9528             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9529             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9530             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9531             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9532             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9533             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9534             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9535             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9536             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9537             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9538             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9539             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9540             :      272,   273,   274,     0,   275,  1103,   277,   278,   279,     0,
    9541             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9542             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9543             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9544             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9545             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9546             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9547             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9548             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9549             :      343,   344,   345,   346,   347,     0,  1104,     0,   349,   350,
    9550             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9551             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9552             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9553             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9554             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9555             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9556             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9557             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9558             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9559             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9560             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9561             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9562             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9563             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9564             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9565             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9566             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9567             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9568             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9569             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9570             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9571             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9572             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9573             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9574             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9575             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9576             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9577             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9578             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9579             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9580             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9581             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9582             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9583             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9584             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9585             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9586             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9587             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9588             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9589             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9590             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9591             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9592             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9593             :      272,   273,   274,     0,   275,  1169,   277,   278,   279,     0,
    9594             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9595             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9596             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9597             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9598             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9599             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9600             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9601             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9602             :      343,   344,   345,   346,   347,     0,  1170,     0,   349,   350,
    9603             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9604             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9605             :      366,   367,     0,   368,   369,   370,   371,  1171,     0,   374,
    9606             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9607             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9608             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9609             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9610             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9611             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9612             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9613             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9614             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9615             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9616             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9617             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9618             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9619             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9620             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9621             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9622             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9623             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9624             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9625             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9626             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9627             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9628             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9629             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9630             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9631             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9632             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9633             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9634             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9635             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9636             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9637             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9638             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9639             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9640             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9641             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9642             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9643             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9644             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9645             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9646             :      272,   273,   274,     0,   275,  1846,   277,   278,   279,     0,
    9647             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9648             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9649             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9650             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9651             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9652             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9653             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9654             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9655             :      343,   344,   345,   346,   347,     0,  1847,     0,   349,   350,
    9656             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9657             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9658             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9659             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9660             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9661             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9662             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9663             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9664             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9665             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9666             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9667             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9668             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9669             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9670             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9671             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9672             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9673             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9674             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9675             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9676             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9677             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9678             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9679             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9680             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9681             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9682             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9683             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9684             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9685             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9686             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9687             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9688             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9689             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9690             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9691             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9692             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9693             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9694             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9695             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9696             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9697             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9698             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9699             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9700             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9701             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9702             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9703             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9704             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9705             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9706             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9707             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9708             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9709             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9710             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9711             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9712             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9713             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9714             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9715             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9716             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9717             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9718             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9719             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9720             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9721             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9722             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9723             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9724             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9725             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9726             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9727             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9728             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9729             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9730             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9731             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9732             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9733             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9734             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9735             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9736             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9737             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9738             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9739             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9740             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9741             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9742             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9743             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9744             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9745             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9746             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9747             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9748             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9749             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9750             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9751             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9752             :      272,   273,   274,     0,   275,  3598,   277,   278,   279,     0,
    9753             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9754             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9755             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9756             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9757             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9758             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9759             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9760             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9761             :      343,   344,   345,   346,   347,     0,  3599,     0,   349,   350,
    9762             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9763             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9764             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9765             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9766             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9767             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9768             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9769             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9770             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9771             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9772             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9773             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9774             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9775             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9776             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
    9777             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9778             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9779             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9780             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9781             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9782             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9783             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9784             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9785             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9786             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9787             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9788             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9789             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9790             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9791             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9792             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9793             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9794             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9795             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9796             :      646,   647,   648,   649,   650,     0,     0,     0,     0,     0,
    9797             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9798             :      993,   994,   995,   996,   658,     0,     0,     0,     0,     0,
    9799             :        0,   982,     0,     0,     0,     0,     0,     0,   983,   984,
    9800             :      985,   235,   236,   237,   238,   239,   240,   241,   242,   243,
    9801             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
    9802             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
    9803             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
    9804             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
    9805             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
    9806             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
    9807             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
    9808             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
    9809             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
    9810             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
    9811             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
    9812             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
    9813             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
    9814             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
    9815             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
    9816             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
    9817             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
    9818             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
    9819             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
    9820             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
    9821             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
    9822             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
    9823             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
    9824             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
    9825             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
    9826             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
    9827             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
    9828             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
    9829             :      473,     0,     0,  5646,   475,   476,     0,     0,   477,   478,
    9830             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
    9831             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
    9832             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
    9833             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
    9834             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
    9835             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
    9836             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
    9837             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
    9838             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
    9839             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
    9840             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
    9841             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
    9842             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
    9843             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
    9844             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
    9845             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
    9846             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
    9847             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
    9848             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
    9849             :      646,   647,   648,   649,   650,     0,     0,  1740,     0,     0,
    9850             :        0,     0,     0,     0,     0,   988,   989,   990,   991,   992,
    9851             :      993,   994,   995,   996,   235,   236,   237,   238,   239,   240,
    9852             :      241,   242,   243,  1741,   244,   245,   246,  1742,  1743,  1744,
    9853             :     1745,  1746,  1747,  1748,   247,   248,   249,  1749,   250,   251,
    9854             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
    9855             :      262,  1750,   263,   264,   265,   266,   267,   268,   269,  1751,
    9856             :     1752,   270,   271,   272,   273,   274,  1753,   275,   276,   277,
    9857             :      278,   279,  1754,   280,  1755,   281,   282,   283,   284,   285,
    9858             :      286,   287,   288,   289,   290,   291,  1756,   292,   293,   294,
    9859             :      295,   296,   297,  1757,   298,   299,   300,   301,  1758,  1759,
    9860             :     1760,   302,  1761,  1762,  1763,   303,   304,   305,   306,   307,
    9861             :      308,   309,   310,   311,  1764,   312,  1765,   313,   314,   315,
    9862             :      316,   317,   318,   319,  1766,   320,   321,   322,   323,  1767,
    9863             :     1768,   324,   325,   326,   327,   328,  1769,   329,   330,   331,
    9864             :      332,  1770,   333,   334,   335,   336,   337,  1771,   338,   339,
    9865             :      340,   341,   342,   343,   344,   345,   346,   347,  1772,   348,
    9866             :     1773,   349,   350,   351,   352,   353,  1774,   354,  1775,   355,
    9867             :      356,   357,  1776,   358,   359,   360,   361,   362,  1777,   363,
    9868             :      364,  1778,   365,   366,   367,  1779,   368,   369,   370,   371,
    9869             :      372,   373,   374,   375,   376,   377,  1780,   378,   379,   380,
    9870             :      381,   382,   383,   384,   385,  1781,   386,   387,   388,   389,
    9871             :      390,   391,   392,   393,   394,  1782,   395,  1783,   396,   397,
    9872             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
    9873             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
    9874             :      418,  1784,  1785,   419,   420,   421,   422,   423,  1786,   424,
    9875             :      425,   426,  1787,  1788,   427,   428,   429,   430,   431,   432,
    9876             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
    9877             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
    9878             :      453,   454,   455,   456,   457,   458,   459,  1789,   460,   461,
    9879             :      462,   463,  1790,   464,   465,   466,   467,   468,   469,   470,
    9880             :     1791,   471,   472,   473,  1792,  1793,   474,   475,   476,  1794,
    9881             :     1795,   477,   478,   479,   480,   481,   482,   483,   484,   485,
    9882             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
    9883             :     1796,   496,   497,   498,   499,   500,   501,   502,   503,   504,
    9884             :     1797,   505,   506,   507,   508,   509,   510,   511,   512,   513,
    9885             :      514,   515,   516,   517,   518,   519,  1798,   520,   521,   522,
    9886             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
    9887             :     1799,   533,   534,   535,   536,   537,   538,   539,   540,   541,
    9888             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
    9889             :     1800,   552,   553,   554,   555,   556,  1801,   557,   558,   559,
    9890             :      560,   561,   562,   563,   564,   565,   566,  1802,   567,   568,
    9891             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
    9892             :      579,   580,   581,   582,   583,  1803,   584,   585,  1804,  1805,
    9893             :      586,   587,   588,   589,   590,   591,   592,   593,  1806,   594,
    9894             :      595,   596,  1807,  1808,   597,   598,   599,   600,   601,  1809,
    9895             :      602,   603,   604,   605,   606,   607,   608,   609,   610,  1810,
    9896             :     1811,   611,   612,   613,   614,   615,  1812,  1813,   616,   617,
    9897             :      618,   619,   620,   621,   622,  1814,   623,   624,   625,   626,
    9898             :      627,   628,   629,  1815,  1816,   630,  1817,  1818,   631,   632,
    9899             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
    9900             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
    9901             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9902             :        0,     0,     0,  1819,     0,   235,   236,   237,   238,   239,
    9903             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
    9904             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
    9905             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
    9906             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
    9907             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
    9908             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
    9909             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
    9910             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
    9911             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
    9912             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
    9913             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
    9914             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
    9915             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
    9916             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
    9917             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
    9918             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
    9919             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
    9920             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
    9921             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
    9922             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
    9923             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
    9924             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
    9925             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
    9926             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
    9927             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
    9928             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
    9929             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
    9930             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
    9931             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
    9932             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
    9933             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
    9934             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
    9935             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
    9936             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
    9937             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
    9938             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
    9939             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
    9940             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
    9941             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
    9942             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
    9943             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
    9944             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
    9945             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
    9946             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
    9947             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
    9948             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
    9949             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
    9950             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
    9951             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
    9952             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
    9953             :        0,     0,     0,     0,   868,     0,   235,   236,   237,   238,
    9954             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
    9955             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
    9956             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
    9957             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
    9958             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
    9959             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
    9960             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
    9961             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
    9962             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
    9963             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
    9964             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
    9965             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
    9966             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
    9967             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
    9968             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
    9969             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
    9970             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
    9971             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
    9972             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
    9973             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
    9974             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
    9975             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
    9976             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
    9977             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
    9978             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
    9979             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
    9980             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
    9981             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
    9982             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
    9983             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
    9984             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
    9985             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
    9986             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
    9987             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
    9988             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
    9989             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
    9990             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
    9991             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
    9992             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
    9993             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
    9994             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
    9995             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
    9996             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
    9997             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
    9998             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
    9999             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   10000             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   10001             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   10002             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   10003             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10004             :        0,     0,     0,     0,     0,  6103,     0,   235,   236,   237,
   10005             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   10006             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   10007             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   10008             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   10009             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   10010             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   10011             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   10012             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   10013             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   10014             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   10015             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   10016             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   10017             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   10018             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   10019             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   10020             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   10021             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   10022             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   10023             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   10024             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   10025             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   10026             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   10027             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   10028             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   10029             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   10030             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   10031             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   10032             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   10033             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   10034             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   10035             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   10036             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   10037             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   10038             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   10039             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   10040             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   10041             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   10042             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   10043             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   10044             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   10045             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   10046             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   10047             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   10048             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   10049             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   10050             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   10051             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   10052             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   10053             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   10054             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   10055             :        0,     0,     0,     0,     0,     0,  6105,     0,   235,   236,
   10056             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   10057             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   10058             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   10059             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   10060             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   10061             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   10062             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   10063             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   10064             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   10065             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   10066             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   10067             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   10068             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   10069             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   10070             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   10071             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   10072             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   10073             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   10074             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   10075             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   10076             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   10077             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10078             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   10079             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   10080             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10081             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   10082             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10083             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   10084             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   10085             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   10086             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10087             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   10088             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   10089             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10090             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10091             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   10092             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10093             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   10094             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   10095             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   10096             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   10097             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   10098             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   10099             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   10100             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   10101             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   10102             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   10103             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   10104             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10105             :      649,   650,   879,     0,     0,     0,     0,     0,     0,     0,
   10106             :        0,     0,     0,     0,     0,     0,     0,  6234,     0,   235,
   10107             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   10108             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   10109             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   10110             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   10111             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   10112             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   10113             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10114             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   10115             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   10116             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   10117             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   10118             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   10119             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   10120             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   10121             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   10122             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   10123             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   10124             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10125             :      377,  2731,   378,   379,   380,   381,   382,   383,   384,   385,
   10126             :        0,   386,   387,  2732,   389,   390,   391,   392,   889,   890,
   10127             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   10128             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   10129             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   10130             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   10131             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   10132             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   10133             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   10134             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   10135             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   10136             :        0,   474,   475,   476,     0,  2733,   477,   478,  2734,   480,
   10137             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   10138             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   10139             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   10140             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   10141             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   10142             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   10143             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   10144             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   10145             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   10146             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   10147             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   10148             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   10149             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   10150             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   10151             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   10152             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   10153             :     2736,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   10154             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   10155             :        0,     0,  3957,     0,     0,     0,     0,     0,     0,     0,
   10156             :      648,   649,   650,     0,     0,     0,     0,     0,     0,   235,
   10157             :      236,   237,   238,   239,   240,   241,   242,   243,  2737,   244,
   10158             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   10159             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   10160             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   10161             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   10162             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   10163             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10164             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   10165             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   10166             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   10167             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   10168             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   10169             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   10170             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   10171             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   10172             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   10173             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   10174             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10175             :      377,  2731,   378,   379,   380,   381,   382,   383,   384,   385,
   10176             :        0,   386,   387,  2732,   389,   390,   391,   392,   889,   890,
   10177             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   10178             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   10179             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   10180             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   10181             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   10182             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   10183             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   10184             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   10185             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   10186             :        0,   474,   475,   476,     0,  2733,   477,   478,  2734,   480,
   10187             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   10188             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   10189             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   10190             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   10191             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   10192             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   10193             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   10194             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   10195             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   10196             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   10197             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   10198             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   10199             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   10200             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   10201             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   10202             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   10203             :     2736,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   10204             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   10205             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10206             :      648,   649,   650,   967,     0,  1603,   717,     0,     0,     0,
   10207             :        0,   778,     0,     0,     0,     0,     0,     0,  2737,     0,
   10208             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   10209             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10210             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10211             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   10212             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   10213             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   10214             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10215             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10216             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   10217             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   10218             :     2622,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10219             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   10220             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10221             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   10222             :      344,   345,   346,   347,  1829,   348,     0,   349,   350,   351,
   10223             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   10224             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   10225             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   10226             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   10227             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   10228             :      394,     0,   395,     0,   396,   397,   398,   399,   400,   401,
   10229             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   10230             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   10231             :      420,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   10232             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   10233             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   10234             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   10235             :      457,   458,   459,     0,   460,   461,   462,   463,     0,   464,
   10236             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   10237             :     1830,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   10238             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   10239             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   10240             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   10241             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   10242             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10243             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10244             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   10245             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10246             :      555,   556,     0,   557,   558,   559,   560,   561,   562,   563,
   10247             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   10248             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   10249             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   10250             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   10251             :      597,   598,   599,   600,   601,  1831,   602,   603,   604,   605,
   10252             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   10253             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   10254             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   10255             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10256             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   10257             :      647,   648,   649,   650,   967,     0,  1603,   717,     0,     0,
   10258             :        0,     0,   778,     0,     0,     0,     0,  1604,  1605,     0,
   10259             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10260             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10261             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10262             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   10263             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   10264             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   10265             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10266             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10267             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   10268             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   10269             :      311,  2627,   312,     0,   313,   314,   315,   316,   317,   318,
   10270             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10271             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10272             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   10273             :      343,   344,   345,   346,   347,  1829,   348,     0,   349,   350,
   10274             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
   10275             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   10276             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
   10277             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   10278             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   10279             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
   10280             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   10281             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   10282             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   10283             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10284             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10285             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   10286             :      456,   457,   458,   459,     0,   460,   461,   462,   463,     0,
   10287             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   10288             :      473,  1830,     0,   474,   475,   476,     0,     0,   477,   478,
   10289             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   10290             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   10291             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   10292             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   10293             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10294             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10295             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10296             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10297             :      554,   555,   556,     0,   557,   558,   559,   560,   561,   562,
   10298             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   10299             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10300             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   10301             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   10302             :        0,   597,   598,   599,   600,   601,  1831,   602,   603,   604,
   10303             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   10304             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   10305             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
   10306             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10307             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   10308             :      646,   647,   648,   649,   650,   967,     0,  1603,   717,     0,
   10309             :        0,     0,     0,   778,     0,     0,     0,     0,  1604,  1605,
   10310             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10311             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   10312             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10313             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   10314             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10315             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10316             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10317             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10318             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   10319             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   10320             :      310,   311,  3565,   312,     0,   313,   314,   315,   316,   317,
   10321             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10322             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10323             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   10324             :      342,   343,   344,   345,   346,   347,  1829,   348,     0,   349,
   10325             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   10326             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   10327             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   10328             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   10329             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   10330             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   10331             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10332             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   10333             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   10334             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   10335             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10336             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   10337             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   10338             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   10339             :      472,   473,  1830,     0,   474,   475,   476,     0,     0,   477,
   10340             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10341             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   10342             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   10343             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10344             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10345             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10346             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10347             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10348             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   10349             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10350             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10351             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   10352             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   10353             :        0,     0,   597,   598,   599,   600,   601,  1831,   602,   603,
   10354             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   10355             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   10356             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   10357             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10358             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10359             :      645,   646,   647,   648,   649,   650,   967,     0,  1603,   717,
   10360             :        0,     0,     0,     0,   778,     0,     0,     0,     0,  1604,
   10361             :     1605,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   10362             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   10363             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   10364             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   10365             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   10366             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   10367             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   10368             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   10369             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   10370             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   10371             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   10372             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   10373             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   10374             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   10375             :      341,   342,   343,   344,   345,   346,   347,  1829,   348,     0,
   10376             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   10377             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   10378             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   10379             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   10380             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   10381             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   10382             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   10383             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   10384             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   10385             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   10386             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   10387             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   10388             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   10389             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   10390             :      471,   472,   473,  1830,     0,   474,   475,   476,     0,     0,
   10391             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   10392             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   10393             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   10394             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   10395             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   10396             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   10397             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   10398             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   10399             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   10400             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   10401             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   10402             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   10403             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   10404             :      596,     0,     0,   597,   598,   599,   600,   601,  1831,   602,
   10405             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   10406             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   10407             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   10408             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   10409             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   10410             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   10411             :        0,     0,     0,     0,     0,   778,     0,     0,     0,     0,
   10412             :     1604,  1605,     0,     0,   235,   236,   779,   238,   239,   240,
   10413             :      241,   242,   243,   780,   244,   245,   246,     0,     0,     0,
   10414             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   10415             :      252,   253,     0,   781,   256,   257,   258,   259,     0,   261,
   10416             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   10417             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   10418             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   10419             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   10420             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   10421             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   10422             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   10423             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   10424             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   10425             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   10426             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   10427             :        0,   349,   350,   782,   352,   353,     0,   354,     0,   355,
   10428             :      783,     0,   784,     0,   359,   360,   361,   362,     0,   363,
   10429             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   10430             :      372,     0,   374,   375,   376,   377,   785,   378,   379,   380,
   10431             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   10432             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   10433             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   10434             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   10435             :      786,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   10436             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   10437             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   10438             :      443,   444,   445,   446,     0,   448,   449,   450,   787,   452,
   10439             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   10440             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   10441             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   10442             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   10443             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   10444             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   10445             :        0,   788,   506,   507,   508,   509,   510,   511,   512,   513,
   10446             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   10447             :      789,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   10448             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   10449             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   10450             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   10451             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   10452             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   10453             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   10454             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   10455             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   10456             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   10457             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   10458             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   10459             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   10460             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   10461             :      643,   644,   645,   646,   647,   648,   649,   650,   967,     0,
   10462             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10463             :        0,   790,   791,     0,     0,   235,   236,   237,   238,   239,
   10464             :      240,   241,   242,   243,     0,   244,   245,   246,     3,     4,
   10465             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   10466             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   10467             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   10468             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   10469             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   10470             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   10471             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   10472             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   10473             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   10474             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   10475             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   10476             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   10477             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   10478             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   10479             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   10480             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   10481             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   10482             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   10483             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   10484             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   10485             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   10486             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   10487             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   10488             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   10489             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   10490             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   10491             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   10492             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   10493             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   10494             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   10495             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   10496             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   10497             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   10498             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   10499             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   10500             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   10501             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   10502             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   10503             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10504             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   10505             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   10506             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   10507             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   10508             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   10509             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   10510             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   10511             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10512             :      642,   643,   644,   645,   646,   647,   648,   649,   650,  1046,
   10513             :     1740,     0,  6431,   717,     0,     0,     0,     0,   778,     0,
   10514             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   10515             :      238,   239,   240,   241,   242,   243,  1741,   244,   245,   246,
   10516             :     1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,   248,   249,
   10517             :     1749,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   10518             :      259,   260,   261,   262,  1750,   263,   264,   265,   266,   267,
   10519             :      268,   269,  1751,  1752,   270,   271,   272,   273,   274,  1753,
   10520             :      275,   276,   277,   278,   279,  1754,   280,  1755,   281,   282,
   10521             :      283,   284,   285,   286,   287,   288,   289,   290,   291,  1756,
   10522             :      292,   293,   294,   295,   296,   297,  1757,   298,   299,   300,
   10523             :      301,  1758,  1759,  1760,   302,  1761,  1762,  1763,   303,   304,
   10524             :      305,   306,   307,   308,   309,   310,   311,  1764,   312,  1765,
   10525             :      313,   314,   315,   316,   317,   318,   319,  1766,   320,   321,
   10526             :      322,   323,  1767,  1768,   324,   325,   326,   327,   328,  1769,
   10527             :      329,   330,   331,   332,  1770,   333,   334,   335,   336,   337,
   10528             :     1771,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   10529             :      347,  1772,   348,  1773,   349,   350,   351,   352,   353,  1774,
   10530             :      354,  1775,   355,   356,   357,  1776,   358,   359,   360,   361,
   10531             :      362,  1777,   363,   364,  1778,   365,   366,   367,  1779,   368,
   10532             :      369,   370,   371,   372,   373,   374,   375,   376,   377,  1780,
   10533             :      378,   379,   380,   381,   382,   383,   384,   385,  1781,   386,
   10534             :      387,   388,   389,   390,   391,   392,   393,   394,  1782,   395,
   10535             :     1783,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   10536             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   10537             :      415,   416,   417,   418,  1784,  1785,   419,   420,   421,   422,
   10538             :      423,  1786,   424,   425,   426,  1787,  1788,   427,   428,   429,
   10539             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   10540             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   10541             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   10542             :     1789,   460,   461,   462,   463,  1790,   464,   465,   466,   467,
   10543             :      468,   469,   470,  1791,   471,   472,   473,  1792,  1793,   474,
   10544             :      475,   476,  1794,  1795,   477,   478,   479,   480,   481,   482,
   10545             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   10546             :      493,   494,   495,  1796,   496,   497,   498,   499,   500,   501,
   10547             :      502,   503,   504,  1797,   505,   506,   507,   508,   509,   510,
   10548             :      511,   512,   513,   514,   515,   516,   517,   518,   519,  1798,
   10549             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   10550             :      530,   531,   532,  1799,   533,   534,   535,   536,   537,   538,
   10551             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   10552             :      549,   550,   551,  1800,   552,   553,   554,   555,   556,  1801,
   10553             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   10554             :     1802,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   10555             :      576,   577,   578,   579,   580,   581,   582,   583,  1803,   584,
   10556             :      585,  1804,  1805,   586,   587,   588,   589,   590,   591,   592,
   10557             :      593,  1806,   594,   595,   596,  1807,  1808,   597,   598,   599,
   10558             :      600,   601,  1809,   602,   603,   604,   605,   606,   607,   608,
   10559             :      609,   610,  1810,  1811,   611,   612,   613,   614,   615,  1812,
   10560             :     1813,   616,   617,   618,   619,   620,   621,   622,  1814,   623,
   10561             :      624,   625,   626,   627,   628,   629,  1815,  1816,   630,  1817,
   10562             :     1818,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   10563             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   10564             :      650,  1740,     0,     0,     0,     0,     0,     0,     0,     0,
   10565             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   10566             :      237,   238,   239,   240,   241,   242,   243,  1741,   244,   245,
   10567             :      246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,   248,
   10568             :      249,  1749,   250,   251,   252,   253,   254,   255,   256,   257,
   10569             :      258,   259,   260,   261,   262,  1750,   263,   264,   265,   266,
   10570             :      267,   268,   269,  1751,  1752,   270,   271,   272,   273,   274,
   10571             :     1753,   275,   276,   277,   278,   279,  1754,   280,  1755,   281,
   10572             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   10573             :     1756,   292,   293,   294,   295,   296,   297,  1757,   298,   299,
   10574             :      300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,   303,
   10575             :      304,   305,   306,   307,   308,   309,   310,   311,  1764,   312,
   10576             :     1765,   313,   314,   315,   316,   317,   318,   319,  1766,   320,
   10577             :      321,   322,   323,  1767,  1768,   324,   325,   326,   327,   328,
   10578             :     1769,   329,   330,   331,   332,  1770,   333,   334,   335,   336,
   10579             :      337,  1771,   338,   339,   340,   341,   342,   343,   344,   345,
   10580             :      346,   347,  1772,   348,  1773,   349,   350,   351,   352,   353,
   10581             :     1774,   354,  1775,   355,   356,   357,  1776,   358,   359,   360,
   10582             :      361,   362,  1777,   363,   364,  1778,   365,   366,   367,  1779,
   10583             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   10584             :     1780,   378,   379,   380,   381,   382,   383,   384,   385,  1781,
   10585             :      386,   387,   388,   389,   390,   391,   392,   393,   394,  1782,
   10586             :      395,  1783,   396,   397,   398,   399,   400,   401,   402,   403,
   10587             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   10588             :      414,   415,   416,   417,   418,  1784,  1785,   419,   420,   421,
   10589             :      422,   423,  1786,   424,   425,   426,  1787,  1788,   427,   428,
   10590             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   10591             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   10592             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   10593             :      459,  1789,   460,   461,   462,   463,  1790,   464,   465,   466,
   10594             :      467,   468,   469,   470,  1791,   471,   472,   473,  1792,  1793,
   10595             :      474,   475,   476,  1794,  1795,   477,   478,   479,   480,   481,
   10596             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   10597             :      492,   493,   494,   495,  1796,   496,   497,   498,   499,   500,
   10598             :      501,   502,   503,   504,  1797,   505,   506,   507,   508,   509,
   10599             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   10600             :     1798,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   10601             :      529,   530,   531,   532,  1799,   533,   534,   535,   536,   537,
   10602             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   10603             :      548,   549,   550,   551,  1800,   552,   553,   554,   555,   556,
   10604             :     1801,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   10605             :      566,  1802,   567,   568,   569,   570,   571,   572,   573,   574,
   10606             :      575,   576,   577,   578,   579,   580,   581,   582,   583,  1803,
   10607             :      584,   585,  1804,  1805,   586,   587,   588,   589,   590,   591,
   10608             :      592,   593,  1806,   594,   595,   596,  1807,  1808,   597,   598,
   10609             :      599,   600,   601,  1809,   602,   603,   604,   605,   606,   607,
   10610             :      608,   609,   610,  1810,  1811,   611,   612,   613,   614,   615,
   10611             :     1812,  1813,   616,   617,   618,   619,   620,   621,   622,  1814,
   10612             :      623,   624,   625,   626,   627,   628,   629,  1815,  1816,   630,
   10613             :     1817,  1818,   631,   632,   633,   634,   635,   636,   637,   638,
   10614             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   10615             :      649,   650,  1740,     0,     0,     0,     0,     0,     0,     0,
   10616             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   10617             :      236,   237,   238,   239,  3674,   241,   242,   243,  1741,   244,
   10618             :      245,   246,  1742,  1743,  1744,  1745,  1746,  1747,  1748,   247,
   10619             :      248,   249,  1749,   250,   251,   252,   253,   254,   255,   256,
   10620             :      257,   258,   259,   260,   261,   262,  1750,   263,   264,   265,
   10621             :      266,   267,   268,   269,  1751,  1752,   270,   271,   272,   273,
   10622             :      274,  1753,   275,   276,   277,   278,   279,  1754,   280,  1755,
   10623             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   10624             :      291,  1756,   292,   293,   294,   295,   296,   297,  1757,   298,
   10625             :      299,   300,   301,  1758,  1759,  1760,   302,  1761,  1762,  1763,
   10626             :      303,   304,   305,   306,   307,   308,   309,   310,   311,  1764,
   10627             :      312,  1765,   313,   314,   315,   316,   317,   318,   319,  1766,
   10628             :      320,   321,   322,   323,  1767,  1768,   324,   325,   326,  3675,
   10629             :      328,  1769,   329,   330,   331,   332,  1770,   333,   334,   335,
   10630             :      336,   337,  1771,   338,   339,   340,   341,   342,   343,   344,
   10631             :      345,   346,   347,  1772,   348,  1773,   349,   350,   351,   352,
   10632             :      353,  1774,   354,  1775,   355,   356,   357,  1776,   358,   359,
   10633             :      360,   361,   362,  1777,   363,   364,  1778,   365,   366,   367,
   10634             :     1779,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   10635             :      377,  1780,   378,   379,   380,   381,   382,   383,   384,   385,
   10636             :     1781,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   10637             :     1782,   395,  1783,   396,   397,   398,   399,   400,   401,   402,
   10638             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   10639             :      413,   414,   415,   416,   417,   418,  1784,  1785,   419,   420,
   10640             :      421,   422,   423,  1786,   424,   425,   426,  1787,  1788,   427,
   10641             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   10642             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   10643             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   10644             :      458,   459,  1789,   460,   461,   462,   463,  1790,   464,   465,
   10645             :      466,   467,   468,   469,   470,  1791,   471,   472,   473,  1792,
   10646             :     1793,   474,   475,   476,  1794,  1795,   477,   478,   479,   480,
   10647             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   10648             :      491,   492,   493,   494,   495,  1796,   496,   497,   498,   499,
   10649             :      500,   501,   502,   503,   504,  1797,   505,   506,   507,   508,
   10650             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   10651             :      519,  1798,   520,   521,   522,   523,   524,   525,   526,   527,
   10652             :      528,   529,   530,   531,   532,  1799,   533,   534,   535,   536,
   10653             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   10654             :      547,   548,   549,   550,   551,  1800,   552,   553,   554,   555,
   10655             :      556,  1801,  3676,   558,   559,   560,   561,   562,   563,   564,
   10656             :      565,   566,  1802,   567,   568,   569,   570,   571,   572,   573,
   10657             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   10658             :     1803,   584,   585,  1804,  1805,   586,   587,   588,   589,   590,
   10659             :      591,   592,   593,  1806,   594,   595,   596,  1807,  1808,   597,
   10660             :      598,   599,   600,   601,  1809,   602,   603,   604,   605,   606,
   10661             :      607,   608,   609,   610,  1810,  1811,   611,   612,   613,   614,
   10662             :      615,  1812,  1813,   616,   617,   618,   619,   620,   621,   622,
   10663             :     1814,   623,   624,   625,   626,   627,   628,   629,  1815,  1816,
   10664             :      630,  1817,  1818,   631,   632,   633,   634,   635,   636,   637,
   10665             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   10666             :      648,   649,   650,   234,     0,     0,     0,     0,     0,     0,
   10667             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10668             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   10669             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   10670             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   10671             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   10672             :      265,   266,   267,   268,   269,     0,  1281,   270,   271,   272,
   10673             :      273,   274,     0,   275,   276,   277,   278,  1284,     0,  1285,
   10674             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   10675             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   10676             :      298,   299,   300,   301,  1286,  1287,  1288,  1289,  1290,  1291,
   10677             :     1292,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   10678             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   10679             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   10680             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   10681             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   10682             :      344,   345,   346,  1297,     0,   348,     0,   349,   350,   351,
   10683             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   10684             :      359,   360,   361,   362,     0,   363,  1300,     0,   365,   366,
   10685             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   10686             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   10687             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   10688             :      394,     0,   395,     0,   396,   397,   398,   399,   400,  3470,
   10689             :     1306,  1307,  1308,  1309,  1310,  1311,  1312,  1313,   410,  1314,
   10690             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   10691             :     1315,   421,   422,   423,     0,   424,   425,   426,  1316,  1317,
   10692             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   10693             :     1318,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   10694             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   10695             :      457,  1321,   459,     0,   460,   461,   462,   463,     0,  1324,
   10696             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   10697             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   10698             :      480,   481,   482,  1327,   484,   485,   486,   487,   488,   489,
   10699             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   10700             :     1328,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   10701             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   10702             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   10703             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   10704             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   10705             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   10706             :      555,   556,  1331,   557,   558,   559,   560,   561,   562,   563,
   10707             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   10708             :      573,   574,   575,   576,   577,   578,   579,   580,   581,  1333,
   10709             :      583,     0,   584,   585,  1334,     0,   586,   587,   588,   589,
   10710             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   10711             :      597,   598,  1337,   600,  1338,     0,   602,   603,   604,   605,
   10712             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   10713             :      614,   615,  1341,     0,   616,   617,   618,   619,   620,   621,
   10714             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   10715             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   10716             :      637,  1343,  1344,  1345,  1346,   642,  1347,  1348,  1349,  1350,
   10717             :      647,   648,   649,   650,   234,     0,  1271,   717,     0,  1272,
   10718             :     1273,     0,   778,     0,     0,     0,     0,     0,     0,     0,
   10719             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   10720             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   10721             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   10722             :      255,   256,   257,   258,  1277,   260,  1278,  1279,     0,   263,
   10723             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   10724             :     1282,  1283,   274,     0,   275,   276,   277,   278,   279,     0,
   10725             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   10726             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   10727             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   10728             :        0,     0,   303,   304,   305,   306,   307,   308,  1293,  1294,
   10729             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   10730             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   10731             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   10732             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   10733             :      343,   344,   345,   346,   347,  1298,   348,     0,   349,   350,
   10734             :      351,  1299,   353,     0,   354,     0,   355,   356,   357,     0,
   10735             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   10736             :      366,   367,     0,   368,   369,   370,   371,   372,   373,   374,
   10737             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   10738             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   10739             :     1302,  1303,     0,  1304,     0,   396,   397,   398,   399,   400,
   10740             :     6403,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   10741             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   10742             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   10743             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   10744             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   10745             :     1319,   447,  1320,   449,   450,   451,   452,   453,   454,   455,
   10746             :      456,   457,   458,   459,     0,   460,   461,   462,   463,  1323,
   10747             :      464,   465,  1325,   467,   468,   469,   470,     0,   471,   472,
   10748             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   10749             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   10750             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   10751             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   10752             :      507,   508,   509,   510,   511,   512,   513,   514,   515,  1329,
   10753             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   10754             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   10755             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   10756             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   10757             :      554,   555,   556,     0,   557,   558,   559,   560,   561,   562,
   10758             :      563,   564,  1332,   566,     0,   567,   568,   569,   570,   571,
   10759             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   10760             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   10761             :      589,   590,   591,   592,   593,     0,   594,  1335,  1336,     0,
   10762             :        0,   597,   598,   599,   600,   601,  1339,   602,   603,   604,
   10763             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   10764             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   10765             :      621,  1342,     0,   623,   624,   625,   626,   627,   628,   629,
   10766             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   10767             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   10768             :      646,   647,   648,   649,   650,   967,     0,     0,     0,     0,
   10769             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10770             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   10771             :      243,  1006,   244,   245,   246,     0,     0,     0,     0,     0,
   10772             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   10773             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   10774             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   10775             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   10776             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   10777             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   10778             :      297,     0,   298,   299,   300,   301,     0,     0,   968,   302,
   10779             :        0,     0,   969,   303,   304,   305,   306,   307,   308,   309,
   10780             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   10781             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   10782             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   10783             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   10784             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   10785             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   10786             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   10787             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   10788             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   10789             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   10790             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   10791             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   10792             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   10793             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   10794             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   10795             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   10796             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   10797             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   10798             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   10799             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   10800             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   10801             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   10802             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   10803             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   10804             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   10805             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   10806             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   10807             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   10808             :      553,   554,   555,   556,   970,   557,   558,   559,   560,   561,
   10809             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   10810             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   10811             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   10812             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   10813             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   10814             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   10815             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   10816             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   10817             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   10818             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   10819             :      645,   646,   647,   648,   649,   650,   967,     0,     0,     0,
   10820             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10821             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   10822             :      242,   243,  1027,   244,   245,   246,     0,     0,     0,     0,
   10823             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   10824             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   10825             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   10826             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   10827             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   10828             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   10829             :      296,   297,     0,   298,   299,   300,   301,     0,     0,   968,
   10830             :      302,     0,     0,   969,   303,   304,   305,   306,   307,   308,
   10831             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   10832             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   10833             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   10834             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   10835             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   10836             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   10837             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   10838             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   10839             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   10840             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   10841             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   10842             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   10843             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   10844             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   10845             :      426,     0,     0,   427,   428,   429,   430,  1028,   432,   433,
   10846             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   10847             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   10848             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   10849             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   10850             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   10851             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   10852             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   10853             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   10854             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   10855             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   10856             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   10857             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   10858             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   10859             :      552,   553,   554,   555,   556,   970,   557,   558,   559,   560,
   10860             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   10861             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   10862             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   10863             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   10864             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   10865             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   10866             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   10867             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   10868             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   10869             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   10870             :      644,   645,   646,   647,   648,   649,   650,   967,     0,     0,
   10871             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10872             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   10873             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   10874             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   10875             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   10876             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   10877             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   10878             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   10879             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   10880             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   10881             :      968,   302,     0,     0,   969,   303,   304,   305,   306,   307,
   10882             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   10883             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   10884             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   10885             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   10886             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   10887             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   10888             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   10889             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   10890             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   10891             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
   10892             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
   10893             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   10894             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   10895             :      418,     0,     0,   419,   420,   421,   422,   423,     0,   424,
   10896             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   10897             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   10898             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   10899             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   10900             :      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   10901             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   10902             :        0,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   10903             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   10904             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   10905             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   10906             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   10907             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   10908             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   10909             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   10910             :        0,   552,   553,   554,   555,   556,   970,   557,   558,   559,
   10911             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   10912             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   10913             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   10914             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   10915             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   10916             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   10917             :        0,   611,   612,   613,   614,   615,  3003,     0,   616,   617,
   10918             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
   10919             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   10920             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   10921             :      643,   644,   645,   646,   647,   648,   649,   650,   967,     0,
   10922             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   10923             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   10924             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   10925             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   10926             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   10927             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   10928             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   10929             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   10930             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   10931             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   10932             :        0,   968,   302,     0,     0,   969,   303,   304,   305,   306,
   10933             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   10934             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   10935             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   10936             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   10937             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   10938             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   10939             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   10940             :      363,   364,  4028,   365,   366,   367,     0,   368,   369,   370,
   10941             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   10942             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   10943             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   10944             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   10945             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   10946             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   10947             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   10948             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   10949             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   10950             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   10951             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   10952             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   10953             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   10954             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   10955             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   10956             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   10957             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   10958             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   10959             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   10960             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   10961             :      551,     0,   552,   553,   554,   555,   556,   970,   557,   558,
   10962             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   10963             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   10964             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   10965             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   10966             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   10967             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   10968             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   10969             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   10970             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   10971             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   10972             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   967,
   10973             :        0,     0,   717,     0,     0,     0,     0,     0,     0,     0,
   10974             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   10975             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   10976             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   10977             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   10978             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   10979             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   10980             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   10981             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   10982             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   10983             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   10984             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   10985             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   10986             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   10987             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   10988             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   10989             :     1829,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   10990             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   10991             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   10992             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
   10993             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   10994             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   10995             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   10996             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   10997             :      416,   417,   418,     0,     0,   419,   420,   421,   422,   423,
   10998             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   10999             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11000             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11001             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   11002             :      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
   11003             :      469,   470,     0,   471,   472,   473,  1830,     0,   474,   475,
   11004             :      476,     0,     0,   477,   478,   479,   480,   481,   482,   483,
   11005             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11006             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   11007             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   11008             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11009             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11010             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11011             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11012             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   11013             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11014             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11015             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   11016             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   11017             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   11018             :      601,  1831,   602,   603,   604,   605,   606,   607,   608,   609,
   11019             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   11020             :      616,   617,   618,   619,   620,   621,   622,     0,   623,   624,
   11021             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11022             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11023             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11024             :      967,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11025             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11026             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11027             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11028             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11029             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11030             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11031             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11032             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11033             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11034             :      301,     0,     0,   968,   302,     0,     0,   969,   303,   304,
   11035             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11036             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11037             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11038             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   11039             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11040             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   11041             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   11042             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   11043             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
   11044             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   11045             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   11046             :        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11047             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11048             :      415,   416,   417,   418,     0,     0,   419,   420,   421,   422,
   11049             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   11050             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11051             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11052             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   11053             :        0,   460,   461,   462,   463,     0,   464,   465,   466,   467,
   11054             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   11055             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
   11056             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11057             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   11058             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   11059             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11060             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11061             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11062             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11063             :      549,   550,   551,     0,   552,   553,   554,   555,   556,   970,
   11064             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11065             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11066             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   11067             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   11068             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   11069             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   11070             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   11071             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   11072             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11073             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11074             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11075             :      650,   967,     0,     0,     0,     0,     0,     0,     0,     0,
   11076             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11077             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11078             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11079             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11080             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11081             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11082             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11083             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11084             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11085             :      300,   301,     0,     0,   968,   302,     0,     0,   969,   303,
   11086             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11087             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11088             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11089             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11090             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   11091             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   11092             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   11093             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   11094             :      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
   11095             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   11096             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
   11097             :      395,     0,   396,   397,   398,   399,   400,   401,   402,   403,
   11098             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11099             :      414,   415,   416,   417,   418,     0,     0,   419,   420,   421,
   11100             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   11101             :      429,   430,  1122,   432,   433,   434,   435,   436,   437,   438,
   11102             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11103             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11104             :      459,     0,   460,   461,   462,   463,     0,   464,   465,   466,
   11105             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   11106             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
   11107             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11108             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   11109             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   11110             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11111             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11112             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11113             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11114             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11115             :      970,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11116             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11117             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   11118             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   11119             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   11120             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   11121             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   11122             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   11123             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11124             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11125             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11126             :      649,   650,   967,     0,     0,     0,     0,     0,     0,     0,
   11127             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11128             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11129             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11130             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11131             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11132             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11133             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11134             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11135             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11136             :      299,   300,   301,     0,     0,   968,   302,     0,     0,   969,
   11137             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11138             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11139             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11140             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11141             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   11142             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   11143             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   11144             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   11145             :        0,   368,   369,   370,   371,  1164,   373,   374,   375,   376,
   11146             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   11147             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   11148             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
   11149             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11150             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   11151             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   11152             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   11153             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11154             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11155             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
   11156             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   11157             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
   11158             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11159             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   11160             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   11161             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11162             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11163             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11164             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11165             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11166             :      556,   970,   557,   558,   559,   560,   561,   562,   563,   564,
   11167             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11168             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11169             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   11170             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   11171             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   11172             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   11173             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   11174             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   11175             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11176             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11177             :      648,   649,   650,   967,     0,     0,     0,     0,     0,     0,
   11178             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11179             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11180             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11181             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   11182             :      256,   257,   258,   259,   260,   261,   262,     0,   263,   264,
   11183             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11184             :      273,   274,     0,   275,   276,   277,   278,   279,     0,   280,
   11185             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   11186             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   11187             :      298,   299,   300,   301,     0,     0,   968,   302,     0,     0,
   11188             :      969,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11189             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11190             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11191             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11192             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   11193             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   11194             :      352,   353,     0,   354,     0,   355,   356,   357,     0,   358,
   11195             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   11196             :      367,     0,   368,   369,   370,   371,  1177,   373,   374,   375,
   11197             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   11198             :      385,     0,   386,   387,   388,   389,   390,   391,   392,   393,
   11199             :      394,     0,   395,     0,   396,   397,   398,   399,   400,   401,
   11200             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11201             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   11202             :      420,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   11203             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11204             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11205             :      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11206             :      457,   458,   459,     0,   460,   461,   462,   463,     0,   464,
   11207             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   11208             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   11209             :      480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
   11210             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   11211             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   11212             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11213             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11214             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   11215             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11216             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11217             :      555,   556,   970,   557,   558,   559,   560,   561,   562,   563,
   11218             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11219             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11220             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   11221             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   11222             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   11223             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   11224             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   11225             :      622,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   11226             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11227             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11228             :      647,   648,   649,   650,   967,     0,     0,     0,     0,     0,
   11229             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11230             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11231             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11232             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   11233             :      255,   256,   257,   258,   259,   260,   261,   262,     0,   263,
   11234             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11235             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   11236             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   11237             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   11238             :        0,   298,   299,   300,   301,     0,     0,   968,   302,     0,
   11239             :        0,   969,   303,   304,   305,   306,   307,   308,   309,   310,
   11240             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11241             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11242             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11243             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   11244             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   11245             :      351,   352,   353,     0,   354,     0,   355,   356,   357,     0,
   11246             :      358,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   11247             :      366,   367,     0,   368,   369,   370,   371,  1189,   373,   374,
   11248             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   11249             :      384,   385,     0,   386,   387,   388,   389,   390,   391,   392,
   11250             :      393,   394,     0,   395,     0,   396,   397,   398,   399,   400,
   11251             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11252             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   11253             :      419,   420,   421,   422,   423,     0,   424,   425,   426,     0,
   11254             :        0,   427,   428,   429,   430,  1190,   432,   433,   434,   435,
   11255             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11256             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   11257             :      456,   457,   458,   459,     0,   460,   461,   462,   463,     0,
   11258             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   11259             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   11260             :      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   11261             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   11262             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   11263             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11264             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11265             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11266             :      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11267             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11268             :      554,   555,   556,   970,   557,   558,   559,   560,   561,   562,
   11269             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11270             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11271             :      582,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   11272             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   11273             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   11274             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   11275             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   11276             :      621,   622,     0,   623,   624,   625,   626,   627,   628,   629,
   11277             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11278             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11279             :      646,   647,   648,   649,   650,   967,     0,     0,   717,     0,
   11280             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11281             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11282             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11283             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11284             :      254,   255,   256,   257,   258,   259,   260,   261,   262,     0,
   11285             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11286             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   11287             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   11288             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   11289             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   11290             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   11291             :      310,   311,  2607,   312,     0,   313,   314,   315,   316,   317,
   11292             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11293             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11294             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   11295             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   11296             :      350,   351,   352,   353,     0,   354,     0,   355,   356,   357,
   11297             :        0,   358,   359,   360,   361,   362,     0,   363,   364,     0,
   11298             :      365,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   11299             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   11300             :      383,   384,   385,     0,   386,   387,   388,   389,   390,   391,
   11301             :      392,   393,   394,     0,   395,     0,   396,   397,   398,   399,
   11302             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   11303             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   11304             :        0,   419,   420,   421,   422,   423,     0,   424,   425,   426,
   11305             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   11306             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   11307             :      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
   11308             :      455,   456,   457,   458,   459,     0,   460,   461,   462,   463,
   11309             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   11310             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   11311             :      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
   11312             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   11313             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   11314             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   11315             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   11316             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   11317             :      534,   535,   536,   537,   538,   539,   540,   541,   542,   543,
   11318             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   11319             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   11320             :      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   11321             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   11322             :      581,   582,   583,     0,   584,   585,     0,     0,   586,   587,
   11323             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   11324             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   11325             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   11326             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   11327             :      620,   621,   622,     0,   623,   624,   625,   626,   627,   628,
   11328             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11329             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11330             :      645,   646,   647,   648,   649,   650,   967,     0,     0,   717,
   11331             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11332             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11333             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   11334             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11335             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   11336             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11337             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11338             :      279,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   11339             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11340             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   11341             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   11342             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   11343             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11344             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11345             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   11346             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   11347             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   11348             :      357,     0,   358,   359,   360,   361,   362,     0,   363,   364,
   11349             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   11350             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   11351             :      382,   383,   384,   385,     0,   386,   387,   388,   389,   390,
   11352             :      391,   392,   393,   394,     0,   395,     0,   396,   397,   398,
   11353             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   11354             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   11355             :        0,     0,   419,   420,   421,   422,   423,     0,   424,   425,
   11356             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   11357             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11358             :      444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
   11359             :      454,   455,   456,   457,   458,   459,     0,   460,   461,   462,
   11360             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   11361             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   11362             :      477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
   11363             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   11364             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   11365             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11366             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   11367             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11368             :      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
   11369             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   11370             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   11371             :      561,   562,   563,   564,   565,   566,     0,   567,   568,   569,
   11372             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11373             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   11374             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   11375             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   11376             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   11377             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   11378             :      619,   620,   621,   622,     0,   623,   624,   625,   626,   627,
   11379             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11380             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11381             :      644,   645,   646,   647,   648,   649,   650,   234,     0,     0,
   11382             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11383             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11384             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   11385             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11386             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   11387             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11388             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11389             :      278,   279,     0,   280,     0,   281,   282,   283,   284,   285,
   11390             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   11391             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   11392             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   11393             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11394             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11395             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11396             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   11397             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   11398             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   11399             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   11400             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   11401             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   11402             :      381,   382,   383,   384,   385,     0,   386,   387,   388,   389,
   11403             :      390,   391,   392,   393,   394,     0,   395,     0,   396,   397,
   11404             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   11405             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11406             :      418,     0,     0,   419,   420,   421,   422,   423,     0,   424,
   11407             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   11408             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11409             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   11410             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   11411             :      462,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   11412             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   11413             :        0,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   11414             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   11415             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   11416             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11417             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   11418             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11419             :        0,   533,   534,   535,   536,   537,   538,   539,   540,   541,
   11420             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11421             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   11422             :      560,   561,   562,   563,   564,   565,   566,     0,   567,   568,
   11423             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11424             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   11425             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   11426             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   11427             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   11428             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   11429             :      618,   619,   620,   621,   622,     0,   623,   624,   625,   626,
   11430             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11431             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   11432             :      643,   644,   645,   646,   647,   648,   649,   650,   234,     0,
   11433             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11434             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   11435             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   11436             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   11437             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   11438             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   11439             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   11440             :      277,   278,   279,     0,   280,     0,   281,   282,   283,   284,
   11441             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   11442             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   11443             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   11444             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   11445             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   11446             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   11447             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   11448             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   11449             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   11450             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   11451             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   11452             :      371,  1148,   373,   374,   375,   376,   377,     0,   378,   379,
   11453             :      380,   381,   382,   383,   384,   385,     0,   386,   387,   388,
   11454             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   11455             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   11456             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11457             :      417,   418,     0,     0,   419,   420,   421,   422,   423,     0,
   11458             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   11459             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11460             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   11461             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   11462             :      461,   462,   463,     0,   464,   465,   466,   467,   468,   469,
   11463             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   11464             :        0,     0,   477,   478,   479,   480,   481,   482,   483,   484,
   11465             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11466             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   11467             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   11468             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   11469             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11470             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   11471             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11472             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   11473             :      559,   560,   561,   562,   563,   564,   565,   566,     0,   567,
   11474             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11475             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   11476             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   11477             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   11478             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   11479             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   11480             :      617,   618,   619,   620,   621,   622,     0,   623,   624,   625,
   11481             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11482             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11483             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   234,
   11484             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11485             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11486             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   11487             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11488             :      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
   11489             :      260,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   11490             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   11491             :      276,   277,   278,   279,     0,   280,     0,   281,   282,   283,
   11492             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   11493             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   11494             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   11495             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   11496             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   11497             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   11498             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   11499             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   11500             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   11501             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   11502             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   11503             :      370,   371,  1161,   373,   374,   375,   376,   377,     0,   378,
   11504             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   11505             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   11506             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   11507             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   11508             :      416,   417,   418,     0,     0,   419,   420,   421,   422,   423,
   11509             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   11510             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   11511             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   11512             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   11513             :      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
   11514             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   11515             :      476,     0,     0,   477,   478,   479,   480,   481,   482,   483,
   11516             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   11517             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   11518             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   11519             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   11520             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   11521             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   11522             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   11523             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   11524             :      558,   559,   560,   561,   562,   563,   564,   565,   566,     0,
   11525             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   11526             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   11527             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   11528             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   11529             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   11530             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   11531             :      616,   617,   618,   619,   620,   621,   622,     0,   623,   624,
   11532             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   11533             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   11534             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   11535             :      234,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11536             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   11537             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   11538             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   11539             :        0,   250,   251,   252,   253,   254,   255,   256,   257,   258,
   11540             :      259,   260,   261,   262,     0,   263,   264,   265,   266,   267,
   11541             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   11542             :      275,   276,   277,   278,   279,     0,   280,     0,   281,   282,
   11543             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   11544             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   11545             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   11546             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   11547             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   11548             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   11549             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   11550             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   11551             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   11552             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   11553             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   11554             :      369,   370,   371,  1175,   373,   374,   375,   376,   377,     0,
   11555             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   11556             :      387,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   11557             :        0,   396,   397,   398,   399,   400,   401,   402,   403,   404,
   11558             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   11559             :      415,   416,   417,   418,     0,     0,   419,   420,   421,   422,
   11560             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   11561             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   11562             :      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
   11563             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   11564             :        0,   460,   461,   462,   463,     0,   464,   465,   466,   467,
   11565             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   11566             :      475,   476,     0,     0,   477,   478,   479,   480,   481,   482,
   11567             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   11568             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   11569             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   11570             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   11571             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   11572             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   11573             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   11574             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   11575             :      557,   558,   559,   560,   561,   562,   563,   564,   565,   566,
   11576             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   11577             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   11578             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   11579             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   11580             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   11581             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   11582             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   11583             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   11584             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   11585             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   11586             :      650,   234,     0,     0,     0,     0,     0,     0,     0,     0,
   11587             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   11588             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   11589             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   11590             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   11591             :      258,   259,   260,   261,   262,     0,   263,   264,   265,   266,
   11592             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   11593             :        0,   275,   276,   277,   278,   279,     0,   280,     0,   281,
   11594             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   11595             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   11596             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   11597             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   11598             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   11599             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   11600             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   11601             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   11602             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   11603             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   11604             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   11605             :      368,   369,   370,   371,  1179,   373,   374,   375,   376,   377,
   11606             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   11607             :      386,   387,   388,   389,   390,   391,   392,   393,   394,     0,
   11608             :      395,     0,   396,   397,   398,   399,   400,   401,   402,   403,
   11609             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   11610             :      414,   415,   416,   417,   418,     0,     0,   419,   420,   421,
   11611             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   11612             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   11613             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   11614             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   11615             :      459,     0,   460,   461,   462,   463,     0,   464,   465,   466,
   11616             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   11617             :      474,   475,   476,     0,     0,   477,   478,   479,   480,   481,
   11618             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   11619             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   11620             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   11621             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   11622             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   11623             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   11624             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   11625             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   11626             :        0,   557,   558,   559,   560,   561,   562,   563,   564,   565,
   11627             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   11628             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   11629             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   11630             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   11631             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   11632             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   11633             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   11634             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   11635             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   11636             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   11637             :      649,   650,   967,     0,     0,     0,     0,     0,     0,     0,
   11638             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   11639             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   11640             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   11641             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   11642             :      257,   258,   259,   260,   261,   262,     0,   263,   264,   265,
   11643             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   11644             :      274,     0,   275,   276,   277,   278,   279,     0,   280,     0,
   11645             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   11646             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   11647             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   11648             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   11649             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   11650             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   11651             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   11652             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   11653             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   11654             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   11655             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   11656             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   11657             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   11658             :        0,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   11659             :        0,   395,     0,   396,   397,   398,   399,   400,   401,   402,
   11660             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   11661             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   11662             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   11663             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   11664             :      438,   439,   440,   441,   442,   443,   444,   445,   446,   447,
   11665             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   11666             :      458,   459,     0,   460,   461,   462,   463,     0,   464,   465,
   11667             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   11668             :        0,   474,   475,   476,     0,     0,   477,   478,   479,   480,
   11669             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   11670             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   11671             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   11672             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   11673             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   11674             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   11675             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   11676             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   11677             :      556,     0,   557,   558,   559,   560,   561,   562,   563,   564,
   11678             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   11679             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   11680             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   11681             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   11682             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   11683             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   11684             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   11685             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   11686             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   11687             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   11688             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   11689             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11690             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   11691             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   11692             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   11693             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   11694             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   11695             :      273,   274,  2836,   275,   276,   277,   278,   279,     0,     0,
   11696             :     2837,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   11697             :      290,   291,  2838,   292,   293,   294,   295,   296,   297,     0,
   11698             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   11699             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   11700             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   11701             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   11702             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   11703             :      335,   336,   337,     0,  2839,   339,   340,   341,   342,   343,
   11704             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   11705             :      352,   353,     0,   354,  2840,   355,   356,     0,     0,     0,
   11706             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   11707             :      367,     0,   368,   369,   370,   371,  2841,     0,   374,   375,
   11708             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   11709             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   11710             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   11711             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   11712             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   11713             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   11714             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   11715             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   11716             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   11717             :      457,   458,   459,  2842,   460,   461,     0,   463,     0,   464,
   11718             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   11719             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   11720             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   11721             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   11722             :      499,   500,   501,   502,   503,   504,  2843,   505,   506,   507,
   11723             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   11724             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   11725             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   11726             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   11727             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   11728             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   11729             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   11730             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   11731             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   11732             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   11733             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   11734             :      606,   607,   608,   609,   610,     0,  2844,   611,   612,   613,
   11735             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   11736             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   11737             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   11738             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   11739             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   11740             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11741             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   11742             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   11743             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   11744             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   11745             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   11746             :      272,   273,   274,  2836,   275,   276,   277,   278,   279,     0,
   11747             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   11748             :      289,   290,   291,  2838,   292,   293,   294,   295,   296,   297,
   11749             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   11750             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   11751             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   11752             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   11753             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   11754             :      334,   335,   336,   337,     0,  2839,   339,   340,   341,   342,
   11755             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   11756             :      351,   352,   353,     0,   354,  2840,   355,   356,     0,     0,
   11757             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   11758             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   11759             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   11760             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   11761             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   11762             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   11763             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   11764             :      419,   420,     0,   422,  3891,     0,   424,   425,   426,     0,
   11765             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   11766             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   11767             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   11768             :      456,   457,   458,   459,  2842,   460,   461,     0,   463,     0,
   11769             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   11770             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   11771             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   11772             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   11773             :      498,   499,   500,   501,   502,   503,   504,  2843,   505,   506,
   11774             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   11775             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   11776             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   11777             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   11778             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   11779             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   11780             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   11781             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   11782             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   11783             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   11784             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   11785             :      605,   606,   607,   608,   609,   610,     0,  2844,   611,   612,
   11786             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   11787             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   11788             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   11789             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   11790             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   11791             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11792             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   11793             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   11794             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   11795             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   11796             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   11797             :      271,   272,   273,   274,  2836,   275,   276,   277,   278,   279,
   11798             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   11799             :      288,   289,   290,   291,  2838,   292,   293,   294,   295,   296,
   11800             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   11801             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   11802             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   11803             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   11804             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   11805             :      333,   334,   335,   336,   337,     0,  2839,   339,   340,   341,
   11806             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   11807             :      350,   351,   352,   353,     0,   354,  2840,   355,   356,     0,
   11808             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   11809             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   11810             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   11811             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   11812             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   11813             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   11814             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   11815             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   11816             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   11817             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   11818             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   11819             :      455,   456,   457,   458,   459,  2842,   460,   461,     0,   463,
   11820             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   11821             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   11822             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   11823             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   11824             :      497,   498,   499,   500,   501,   502,   503,   504,  2843,   505,
   11825             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   11826             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   11827             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   11828             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   11829             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   11830             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   11831             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   11832             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   11833             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   11834             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   11835             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   11836             :      604,   605,   606,   607,   608,   609,   610,     0,  2844,   611,
   11837             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   11838             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   11839             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   11840             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   11841             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   11842             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11843             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   11844             :      242,   243,   797,   244,   798,   246,     0,     0,     0,     0,
   11845             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   11846             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   11847             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   11848             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   11849             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   11850             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   11851             :      296,   297,   799,     0,   299,   300,   301,     0,     0,     0,
   11852             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   11853             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   11854             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   11855             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   11856             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   11857             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   11858             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   11859             :        0,     0,     0,   359,   360,   361,   362,   830,   363,   364,
   11860             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   11861             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   11862             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   11863             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   11864             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   11865             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   11866             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   11867             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   11868             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   11869             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   11870             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   11871             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   11872             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   11873             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   11874             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   11875             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   11876             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   11877             :      515,   516,   517,   518,   519,   800,   520,   521,   522,   523,
   11878             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   11879             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   11880             :      543,   544,   545,   546,   547,   548,   549,   550,   551,   801,
   11881             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   11882             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   11883             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   11884             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   11885             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   11886             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   11887             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   11888             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   11889             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   11890             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   11891             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   11892             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   11893             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11894             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   11895             :      241,   242,   243,   797,   244,   798,   246,     0,     0,     0,
   11896             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   11897             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   11898             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   11899             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   11900             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   11901             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   11902             :      295,   296,   297,   799,     0,   299,   300,   301,     0,     0,
   11903             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   11904             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   11905             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   11906             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   11907             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   11908             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   11909             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   11910             :      356,     0,     0,     0,   359,   360,   361,   362,  3572,   363,
   11911             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   11912             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   11913             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   11914             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   11915             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   11916             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   11917             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   11918             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   11919             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   11920             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   11921             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   11922             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   11923             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   11924             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   11925             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   11926             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   11927             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   11928             :      514,   515,   516,   517,   518,   519,   800,   520,   521,   522,
   11929             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   11930             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   11931             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   11932             :      801,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   11933             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   11934             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   11935             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   11936             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   11937             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   11938             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   11939             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   11940             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   11941             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   11942             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   11943             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   11944             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11945             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   11946             :      240,   241,   242,   243,   797,   244,   798,   246,     0,     0,
   11947             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   11948             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   11949             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   11950             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   11951             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   11952             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   11953             :      294,   295,   296,   297,   799,     0,   299,   300,   301,     0,
   11954             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   11955             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   11956             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   11957             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   11958             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   11959             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   11960             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   11961             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   11962             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   11963             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   11964             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   11965             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   11966             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   11967             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   11968             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   11969             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   11970             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   11971             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   11972             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   11973             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   11974             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   11975             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   11976             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   11977             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   11978             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   11979             :      513,   514,   515,   516,   517,   518,   519,   800,   520,   521,
   11980             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   11981             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   11982             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   11983             :      551,   801,   552,   553,   554,   555,   556,     0,   557,   558,
   11984             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   11985             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   11986             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   11987             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   11988             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   11989             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   11990             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   11991             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   11992             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   11993             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   11994             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   11995             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   11996             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   11997             :      239,   240,   241,   242,   243,  3079,   244,   245,   246,     0,
   11998             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   11999             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12000             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12001             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12002             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12003             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12004             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   12005             :        0,     0,     0,  2909,     0,     0,     0,   303,   304,   305,
   12006             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12007             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12008             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12009             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   12010             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   12011             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   12012             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   12013             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   12014             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   12015             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   12016             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   12017             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   12018             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12019             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   12020             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   12021             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12022             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   12023             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   12024             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   12025             :      469,   470,     0,   471,   472,   473,     0,   862,   474,   475,
   12026             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   12027             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12028             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   12029             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   12030             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   12031             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12032             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12033             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12034             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   12035             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12036             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12037             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   12038             :        0,  2910,  2911,     0,   588,   589,   590,   591,   592,   593,
   12039             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   12040             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   12041             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   12042             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   12043             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12044             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12045             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12046             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12047             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12048             :      238,   239,   240,   241,   242,   243,  2007,   244,   245,   246,
   12049             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12050             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12051             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12052             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12053             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12054             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12055             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12056             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   12057             :      305,  2008,   307,   308,   309,   310,   311,     0,   312,     0,
   12058             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12059             :      322,   323,     0,     0,   324,  2009,   326,   327,   328,     0,
   12060             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   12061             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12062             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   12063             :      354,  2010,   355,   356,     0,     0,     0,  2011,   360,   361,
   12064             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   12065             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   12066             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   12067             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   12068             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   12069             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12070             :      415,  2012,  2013,   418,     0,     0,   419,   420,     0,   422,
   12071             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   12072             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12073             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   12074             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   12075             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   12076             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   12077             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   12078             :      483,   484,   485,   486,   487,  2014,   489,   490,   491,   492,
   12079             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   12080             :      502,   503,   504,     0,   505,   506,   507,  2015,   509,   510,
   12081             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12082             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12083             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12084             :     2016,   540,   541,   542,   543,   544,   545,  2017,   547,   548,
   12085             :      549,   550,   551,     0,  2018,   553,   554,   555,   556,     0,
   12086             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12087             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12088             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   12089             :      585,     0,  2019,   586,     0,  2020,   589,   590,   591,   592,
   12090             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   12091             :      600,   601,     0,   602,   603,  2021,   605,   606,   607,   608,
   12092             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   12093             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   12094             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   12095             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12096             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12097             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12098             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12099             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   798,
   12100             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12101             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12102             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12103             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12104             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12105             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12106             :        0,   292,   293,   294,   295,   296,   297,   799,     0,   299,
   12107             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12108             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   12109             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12110             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   12111             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12112             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   12113             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   12114             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   12115             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   12116             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   12117             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   12118             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   12119             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   12120             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12121             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   12122             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   12123             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12124             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   12125             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12126             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   12127             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   12128             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   12129             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   12130             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   12131             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   12132             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12133             :      800,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12134             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12135             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   12136             :      548,   549,   550,   551,   801,   552,   553,   554,   555,   556,
   12137             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12138             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12139             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   12140             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   12141             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   12142             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   12143             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   12144             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   12145             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   12146             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12147             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12148             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12149             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   12150             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   12151             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12152             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12153             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12154             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12155             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12156             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12157             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   12158             :      299,   300,   301,     0,     0,     0,  2909,     0,     0,     0,
   12159             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12160             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12161             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12162             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12163             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   12164             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   12165             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   12166             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   12167             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   12168             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   12169             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   12170             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   12171             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12172             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   12173             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   12174             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12175             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   12176             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12177             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   12178             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   12179             :      862,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   12180             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   12181             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   12182             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   12183             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12184             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   12185             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12186             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12187             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   12188             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12189             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12190             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12191             :        0,   584,   585,     0,  2910,  2911,     0,   588,   589,   590,
   12192             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   12193             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   12194             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   12195             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   12196             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   12197             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12198             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12199             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12200             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12201             :      235,   236,   237,   238,   239,   240,   241,   242,   243,  1020,
   12202             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12203             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12204             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12205             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12206             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12207             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12208             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12209             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   12210             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12211             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12212             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12213             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12214             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   12215             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   12216             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   12217             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   12218             :      367,     0,   368,   369,   370,   371,  1021,     0,   374,   375,
   12219             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   12220             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   12221             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   12222             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12223             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   12224             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   12225             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12226             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   12227             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12228             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   12229             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   12230             :        0,   862,   474,   475,   476,     0,     0,   477,   478,   479,
   12231             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   12232             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   12233             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   12234             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12235             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12236             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12237             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12238             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12239             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12240             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12241             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12242             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   12243             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   12244             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   12245             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   12246             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   12247             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   12248             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12249             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12250             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12251             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12252             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12253             :     3655,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12254             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12255             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12256             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12257             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12258             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12259             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12260             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12261             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12262             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12263             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12264             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12265             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   12266             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   12267             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   12268             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   12269             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   12270             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   12271             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   12272             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   12273             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12274             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   12275             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   12276             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12277             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12278             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   12279             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   12280             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   12281             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   12282             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   12283             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   12284             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   12285             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12286             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12287             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12288             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12289             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12290             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12291             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12292             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12293             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   12294             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   12295             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   12296             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   12297             :      613,   614,   615,  3656,     0,   616,   617,   618,   619,   620,
   12298             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   12299             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12300             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12301             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   12302             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12303             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   12304             :      243,  3668,   244,   245,   246,     0,     0,     0,     0,     0,
   12305             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   12306             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   12307             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   12308             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   12309             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   12310             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   12311             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   12312             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   12313             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   12314             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   12315             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   12316             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   12317             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   12318             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   12319             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   12320             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   12321             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   12322             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   12323             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   12324             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12325             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   12326             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   12327             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   12328             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12329             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   12330             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   12331             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   12332             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   12333             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   12334             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   12335             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   12336             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12337             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12338             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12339             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   12340             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   12341             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   12342             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12343             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12344             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   12345             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   12346             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   12347             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   12348             :      612,   613,   614,   615,  3669,     0,   616,   617,   618,   619,
   12349             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   12350             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12351             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   12352             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12353             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12354             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12355             :      242,   243,   659,   244,   245,   246,     0,     0,     0,     0,
   12356             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12357             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12358             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12359             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   12360             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12361             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   12362             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12363             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12364             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12365             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12366             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12367             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   12368             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   12369             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   12370             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   12371             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   12372             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   12373             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   12374             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   12375             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   12376             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   12377             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   12378             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   12379             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12380             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   12381             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   12382             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   12383             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   12384             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   12385             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   12386             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   12387             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12388             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12389             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12390             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12391             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12392             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12393             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12394             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12395             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   12396             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   12397             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   12398             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   12399             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   12400             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   12401             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12402             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12403             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12404             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12405             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12406             :      241,   242,   243,   708,   244,   245,   246,     0,     0,     0,
   12407             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12408             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12409             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12410             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12411             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12412             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12413             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   12414             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12415             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12416             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12417             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12418             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   12419             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   12420             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   12421             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   12422             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   12423             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   12424             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   12425             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   12426             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   12427             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12428             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   12429             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   12430             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12431             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   12432             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   12433             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   12434             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   12435             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   12436             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   12437             :        0,   496,   497,   498,   499,   500,   501,   502,   709,   504,
   12438             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   12439             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   12440             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   12441             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   12442             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   12443             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   12444             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   12445             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   12446             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   12447             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   12448             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   12449             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   12450             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   12451             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   12452             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   12453             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12454             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12455             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12456             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12457             :      240,   241,   242,   243,   822,   244,   245,   246,     0,     0,
   12458             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12459             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12460             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12461             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12462             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12463             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12464             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   12465             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12466             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12467             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12468             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12469             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   12470             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   12471             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   12472             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   12473             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   12474             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   12475             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   12476             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   12477             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   12478             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12479             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   12480             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   12481             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12482             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   12483             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   12484             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   12485             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   12486             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   12487             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12488             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   12489             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   12490             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   12491             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   12492             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   12493             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   12494             :      551,     0,   552,   553,   554,   555,   823,     0,   557,   558,
   12495             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   12496             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   12497             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   12498             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   12499             :      594,   824,   596,     0,     0,   825,   598,   599,   600,   601,
   12500             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   12501             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   12502             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   12503             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   12504             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   12505             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   12506             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12507             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   12508             :      239,   240,   241,   242,   243,   856,   244,   245,   246,     0,
   12509             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   12510             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   12511             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   12512             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   12513             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   12514             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   12515             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   12516             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   12517             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   12518             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   12519             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   12520             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   12521             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   12522             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   12523             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   12524             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   12525             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   12526             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   12527             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   12528             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   12529             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   12530             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   12531             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   12532             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   12533             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   12534             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   12535             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   12536             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   12537             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   12538             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   12539             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   12540             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   12541             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   12542             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   12543             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   12544             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   12545             :      550,   551,     0,   552,   553,   554,   555,   857,     0,   557,
   12546             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   12547             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   12548             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   12549             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   12550             :        0,   594,   858,   596,     0,     0,   859,   598,   599,   600,
   12551             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   12552             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   12553             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   12554             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   12555             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   12556             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   12557             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12558             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   12559             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   12560             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   12561             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   12562             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   12563             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   12564             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   12565             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   12566             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   12567             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   12568             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   12569             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   12570             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   12571             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   12572             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   12573             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   12574             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   12575             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   12576             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   12577             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   12578             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   12579             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   12580             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   12581             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   12582             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   12583             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   12584             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   12585             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   12586             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   12587             :      468,   469,   470,     0,   471,   472,   473,     0,   862,   474,
   12588             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   12589             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   12590             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   12591             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   12592             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   12593             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   12594             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   12595             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   12596             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   12597             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   12598             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   12599             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   12600             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   12601             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   12602             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   12603             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   12604             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   12605             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   12606             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   12607             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   12608             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   12609             :      922,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   12610             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   12611             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   12612             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   12613             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   12614             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   12615             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   12616             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   12617             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   12618             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   12619             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   12620             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   12621             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   12622             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   12623             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   12624             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   12625             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   12626             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   12627             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   12628             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   12629             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   12630             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   12631             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   12632             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   12633             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   12634             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   12635             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   12636             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   12637             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   12638             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   12639             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   12640             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   12641             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   12642             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   12643             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   12644             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   12645             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   12646             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   12647             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   12648             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   12649             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   12650             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   12651             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   12652             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   12653             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   12654             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   12655             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   12656             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   12657             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   12658             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   12659             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   12660             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   12661             :      236,   237,   238,   239,   240,   241,   242,   243,   977,   244,
   12662             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   12663             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   12664             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   12665             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   12666             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   12667             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   12668             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   12669             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   12670             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   12671             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   12672             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   12673             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   12674             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   12675             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   12676             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   12677             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   12678             :        0,   368,   369,   370,   371,   978,     0,   374,   375,   376,
   12679             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   12680             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   12681             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   12682             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   12683             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   12684             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   12685             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   12686             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   12687             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   12688             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   12689             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   12690             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   12691             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   12692             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   12693             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   12694             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   12695             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   12696             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   12697             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   12698             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   12699             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   12700             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   12701             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   12702             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   12703             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   12704             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   12705             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   12706             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   12707             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   12708             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   12709             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   12710             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   12711             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12712             :      235,   236,   237,   238,   239,   240,   241,   242,   243,  1140,
   12713             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   12714             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   12715             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   12716             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   12717             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   12718             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   12719             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   12720             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   12721             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   12722             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   12723             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   12724             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   12725             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   12726             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   12727             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   12728             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   12729             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   12730             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   12731             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   12732             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   12733             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   12734             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   12735             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   12736             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   12737             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   12738             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   12739             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   12740             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   12741             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   12742             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   12743             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   12744             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   12745             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   12746             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   12747             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   12748             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   12749             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   12750             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   12751             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   12752             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   12753             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   12754             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   12755             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   12756             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   12757             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   12758             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   12759             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   12760             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   12761             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   12762             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12763             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   12764             :     1390,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   12765             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   12766             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   12767             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   12768             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   12769             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   12770             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   12771             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   12772             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   12773             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   12774             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   12775             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   12776             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   12777             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   12778             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   12779             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   12780             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   12781             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   12782             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   12783             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   12784             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   12785             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   12786             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   12787             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   12788             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   12789             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   12790             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   12791             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   12792             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   12793             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   12794             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   12795             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   12796             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   12797             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   12798             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   12799             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   12800             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   12801             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   12802             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   12803             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   12804             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   12805             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   12806             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   12807             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   12808             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   12809             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   12810             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   12811             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   12812             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   12813             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12814             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   12815             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   12816             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   12817             :     1401,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   12818             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   842,
   12819             :      271,   272,   273,  1402,     0,   275,   276,   277,   278,   279,
   12820             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   12821             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   12822             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   12823             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   12824             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   12825             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   12826             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   12827             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   12828             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   12829             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   12830             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   12831             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   12832             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   12833             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   12834             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   12835             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   12836             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   12837             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   12838             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   12839             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   12840             :      845,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   12841             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   12842             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   12843             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   12844             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   12845             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   12846             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   12847             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   12848             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   12849             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   12850             :      534,     0,   846,   537,   538,   539,   540,   541,   542,   543,
   12851             :      544,   545,   847,   547,   548,   549,   550,   551,     0,   552,
   12852             :      553,   554,   555,  1394,     0,   557,   558,   559,   560,   561,
   12853             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   12854             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   12855             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   12856             :      588,   589,   590,   591,   592,   593,     0,   594,   849,   596,
   12857             :        0,     0,   850,   598,   599,   600,   601,     0,   602,   603,
   12858             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   12859             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   12860             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   12861             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   12862             :      635,   851,   637,   638,   639,   640,   641,   642,   643,   644,
   12863             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   12864             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12865             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   12866             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   12867             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   12868             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   12869             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   12870             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   12871             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   12872             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   12873             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   12874             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   12875             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   12876             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   12877             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   12878             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   12879             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   12880             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   12881             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   12882             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1547,
   12883             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   12884             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   12885             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   12886             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   12887             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   12888             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   12889             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   12890             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   12891             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   12892             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   12893             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   12894             :      471,   472,   473,     0,   862,   474,   475,   476,     0,     0,
   12895             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   12896             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   12897             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   12898             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   12899             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   12900             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   12901             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   12902             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   12903             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   12904             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   12905             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   12906             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   12907             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   12908             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   12909             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   12910             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   12911             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   12912             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   12913             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   12914             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   12915             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12916             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   12917             :      241,   242,   243,  1608,   244,   245,   246,     0,     0,     0,
   12918             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   12919             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   12920             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   12921             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   12922             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   12923             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   12924             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   12925             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   12926             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   12927             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   12928             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   12929             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   12930             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   12931             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   12932             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   12933             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   12934             :     1609,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   12935             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   12936             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   12937             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   12938             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   12939             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   12940             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   12941             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   12942             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   12943             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   12944             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   12945             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   12946             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   12947             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   12948             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   12949             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   12950             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   12951             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   12952             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   12953             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   12954             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   12955             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   12956             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   12957             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   12958             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   12959             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   12960             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   12961             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   12962             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   12963             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   12964             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   12965             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   12966             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   12967             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   12968             :      240,   241,   242,   243,   822,   244,   245,   246,     0,     0,
   12969             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   12970             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   12971             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   12972             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   12973             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   12974             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   12975             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   12976             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   12977             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   12978             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   12979             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   12980             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   12981             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   12982             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   12983             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   12984             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   12985             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   12986             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   12987             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   12988             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   12989             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   12990             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   12991             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   12992             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   12993             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   12994             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   12995             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   12996             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   12997             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   12998             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   12999             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   13000             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   13001             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13002             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13003             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13004             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13005             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13006             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13007             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13008             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   13009             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   13010             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   13011             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   13012             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   13013             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   13014             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13015             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13016             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13017             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13018             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13019             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   13020             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13021             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13022             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13023             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13024             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13025             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13026             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13027             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13028             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13029             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13030             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13031             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   13032             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   13033             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   13034             :        0,   355,   356,     0,     0,     0,   359,   360,   361,  3419,
   13035             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   13036             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   13037             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   13038             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   13039             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   13040             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13041             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   13042             :        0,   424,   425,  3420,     0,     0,   427,   428,   429,   430,
   13043             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13044             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   13045             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   13046             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   13047             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   13048             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   13049             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13050             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   13051             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   13052             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13053             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13054             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13055             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13056             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13057             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13058             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13059             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   13060             :        0,  3421,   586,     0,   588,   589,  3422,   591,  3423,   593,
   13061             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   13062             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   13063             :      610,     0,     0,   611,   612,  3424,   614,   615,     0,     0,
   13064             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   13065             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13066             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13067             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13068             :      658,     0,     0,   717,     0,     0,     0,     0,     0,     0,
   13069             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13070             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13071             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13072             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13073             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13074             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13075             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13076             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13077             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13078             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13079             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13080             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13081             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13082             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   13083             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13084             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   13085             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   13086             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   13087             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   13088             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   13089             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   13090             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   13091             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13092             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   13093             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   13094             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13095             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   13096             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   13097             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   13098             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   13099             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   13100             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13101             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   13102             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   13103             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13104             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13105             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13106             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   13107             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13108             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13109             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13110             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   13111             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   13112             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   13113             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   13114             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   13115             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   13116             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   13117             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13118             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13119             :      650,   658,     0,     0,     0,     0,     0,     0,     0,   778,
   13120             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13121             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13122             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13123             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13124             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13125             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   13126             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13127             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13128             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   13129             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13130             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13131             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13132             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13133             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13134             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   13135             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   13136             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   13137             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   13138             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   13139             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   13140             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   13141             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   13142             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13143             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   13144             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   13145             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13146             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   13147             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13148             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   13149             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   13150             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   13151             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13152             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   13153             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   13154             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13155             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13156             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   13157             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   13158             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   13159             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13160             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13161             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   13162             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   13163             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   13164             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   13165             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   13166             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   13167             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   13168             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   13169             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13170             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13171             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13172             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13173             :      245,   246,     0,     0,     0,     0,     0,  4246,     0,   247,
   13174             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13175             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13176             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   13177             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13178             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13179             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   13180             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13181             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13182             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13183             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13184             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13185             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   13186             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   13187             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   13188             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   13189             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   13190             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   13191             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   13192             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   13193             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13194             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   13195             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   13196             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13197             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   13198             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13199             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   13200             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   13201             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   13202             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   13203             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   13204             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   13205             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   13206             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13207             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   13208             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   13209             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13210             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13211             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13212             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13213             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   13214             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   13215             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   13216             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   13217             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   13218             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   13219             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   13220             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13221             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13222             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13223             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13224             :      244,   245,   246,     0,     0,     0,     0,     0,  4260,     0,
   13225             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13226             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13227             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13228             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13229             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13230             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13231             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13232             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13233             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13234             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13235             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13236             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   13237             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   13238             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   13239             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   13240             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   13241             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   13242             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   13243             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   13244             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13245             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   13246             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   13247             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13248             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   13249             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13250             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   13251             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   13252             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   13253             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   13254             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   13255             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   13256             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13257             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13258             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13259             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13260             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13261             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13262             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13263             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13264             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   13265             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   13266             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   13267             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   13268             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   13269             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   13270             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13271             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13272             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13273             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13274             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13275             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   13276             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13277             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13278             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13279             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13280             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13281             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13282             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13283             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13284             :      311,  4408,   312,     0,   313,   314,   315,   316,   317,   318,
   13285             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13286             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13287             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   13288             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   13289             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   13290             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   13291             :      366,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   13292             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   13293             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   13294             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   13295             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13296             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   13297             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   13298             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13299             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13300             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   13301             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   13302             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   13303             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   13304             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   13305             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   13306             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   13307             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   13308             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   13309             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   13310             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   13311             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   13312             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   13313             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   13314             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   13315             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   13316             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   13317             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   13318             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   13319             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   13320             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   13321             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   13322             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   13323             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13324             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13325             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13326             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   13327             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13328             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13329             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13330             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13331             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13332             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13333             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13334             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13335             :      310,   311,  4935,   312,     0,   313,   314,   315,   316,   317,
   13336             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13337             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13338             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   13339             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   13340             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   13341             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   13342             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   13343             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   13344             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   13345             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   13346             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13347             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   13348             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   13349             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   13350             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13351             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   13352             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   13353             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   13354             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   13355             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   13356             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   13357             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   13358             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13359             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13360             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13361             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13362             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13363             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13364             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13365             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13366             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   13367             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   13368             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   13369             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   13370             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   13371             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   13372             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13373             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13374             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13375             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13376             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13377             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13378             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13379             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   13380             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13381             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   13382             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13383             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13384             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13385             :     5008,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13386             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   13387             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13388             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13389             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   13390             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   13391             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   13392             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   13393             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   13394             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   13395             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   13396             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   13397             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   13398             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   13399             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   13400             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   13401             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13402             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   13403             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   13404             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   13405             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   13406             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   13407             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   13408             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   13409             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13410             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13411             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13412             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   13413             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   13414             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   13415             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13416             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13417             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   13418             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   13419             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   13420             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   13421             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   13422             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   13423             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13424             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   13425             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13426             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13427             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13428             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13429             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13430             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13431             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   13432             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   13433             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   13434             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   13435             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   13436             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   13437             :      308,   309,   310,   311,  5373,   312,     0,   313,   314,   315,
   13438             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   13439             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   13440             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   13441             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   13442             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   13443             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   13444             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   13445             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   13446             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   13447             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   13448             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   13449             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   13450             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   13451             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   13452             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   13453             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   13454             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   13455             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   13456             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   13457             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   13458             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   13459             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   13460             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13461             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13462             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13463             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13464             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13465             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13466             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13467             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13468             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   13469             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   13470             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   13471             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   13472             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   13473             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   13474             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13475             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13476             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13477             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13478             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13479             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   13480             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13481             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13482             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13483             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13484             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13485             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13486             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13487             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13488             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   13489             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   13490             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   13491             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   13492             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   13493             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   13494             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   13495             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   13496             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   13497             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   13498             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   13499             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   13500             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   13501             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   13502             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   13503             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   13504             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   13505             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   13506             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   13507             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   13508             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   13509             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   13510             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   13511             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   13512             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   13513             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   13514             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   13515             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   13516             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   13517             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   13518             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   13519             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   13520             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   13521             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   13522             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   13523             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   13524             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   13525             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   13526             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   13527             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   13528             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13529             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   13530             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   13531             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   13532             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   13533             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   13534             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   13535             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   13536             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   13537             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   13538             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   13539             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   13540             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   13541             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   13542             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   13543             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   13544             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   13545             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   13546             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   13547             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   13548             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   13549             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   13550             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   13551             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   13552             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   13553             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   13554             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   13555             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   13556             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   13557             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   13558             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   13559             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   13560             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   13561             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   13562             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   13563             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   13564             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   13565             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   13566             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   13567             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   13568             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   13569             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   13570             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   13571             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   13572             :        0,   594,   595,   596,     0,     0,   814,   598,   599,   600,
   13573             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   13574             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   13575             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   13576             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   13577             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   13578             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   13579             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13580             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   13581             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   13582             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   13583             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   13584             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   13585             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   13586             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   13587             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   13588             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   13589             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   13590             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   13591             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   13592             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   13593             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   13594             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   13595             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   13596             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   13597             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   13598             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   13599             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   13600             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   13601             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   13602             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   13603             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   13604             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   13605             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   13606             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   13607             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   13608             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   13609             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   13610             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   13611             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   13612             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   13613             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   13614             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   13615             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   13616             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   13617             :      539,   540,   541,   542,   543,   820,   545,   546,   547,   548,
   13618             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   13619             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   13620             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   13621             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   13622             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   13623             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   13624             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   13625             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   13626             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   13627             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   13628             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   13629             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   13630             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   13631             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   13632             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   13633             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   13634             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   13635             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   13636             :      267,   268,   269,     0,     0,   842,   271,   272,   273,   274,
   13637             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   13638             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   13639             :        0,   843,   293,   294,   295,   296,   297,     0,     0,   299,
   13640             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   13641             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   13642             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   13643             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   13644             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   13645             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   13646             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   13647             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   13648             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   13649             :      368,   369,   370,   371,   372,     0,   374,   375,   376,   377,
   13650             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   13651             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   13652             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   13653             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   13654             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   13655             :      422,     0,     0,   424,   425,   844,     0,     0,   427,   428,
   13656             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   13657             :      439,   440,   441,   442,   443,   444,   845,   446,     0,   448,
   13658             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   13659             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   13660             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   13661             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   13662             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   13663             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   13664             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   13665             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   13666             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   13667             :      529,   530,   531,   532,     0,   533,   534,     0,   846,   537,
   13668             :      538,   539,   540,   541,   542,   543,   544,   545,   847,   547,
   13669             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   848,
   13670             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   13671             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   13672             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   13673             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   13674             :      592,   593,     0,   594,   849,   596,     0,     0,   850,   598,
   13675             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   13676             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   13677             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   13678             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   13679             :        0,     0,   631,   632,   633,   634,   635,   851,   637,   638,
   13680             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   13681             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   13682             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   13683             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   13684             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   13685             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   13686             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   13687             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   13688             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   13689             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   13690             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   13691             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   13692             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   13693             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   13694             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   13695             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   13696             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   13697             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   13698             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   13699             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   13700             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   13701             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   13702             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   13703             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   13704             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   13705             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   13706             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   13707             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   13708             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   13709             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   13710             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   13711             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   13712             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   13713             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   13714             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   13715             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   13716             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   874,
   13717             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   13718             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   13719             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   13720             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   13721             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   13722             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   13723             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   13724             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   13725             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   13726             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   13727             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   13728             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   13729             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   13730             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   13731             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   13732             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   13733             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13734             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   13735             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   13736             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   13737             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   13738             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   13739             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   13740             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   13741             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   13742             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   13743             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   13744             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   13745             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   13746             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   13747             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   13748             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   13749             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   13750             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   13751             :      367,     0,   368,   369,   370,   371,  1002,     0,   374,   375,
   13752             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   13753             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   13754             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   13755             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   13756             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   13757             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   13758             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   13759             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   13760             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   13761             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   13762             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   13763             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   13764             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   13765             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   13766             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   13767             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   13768             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   13769             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   13770             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   13771             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   13772             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   13773             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   13774             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   13775             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   13776             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   13777             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   13778             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   13779             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   13780             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   13781             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   13782             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   13783             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   13784             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13785             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   13786             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   13787             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   13788             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   13789             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   13790             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   13791             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   13792             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   13793             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   13794             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   13795             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   13796             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   13797             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   13798             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   13799             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   13800             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   13801             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   13802             :      366,   367,     0,   368,   369,   370,   371,  1012,     0,   374,
   13803             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   13804             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   13805             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   13806             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   13807             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   13808             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   13809             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   13810             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   13811             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   13812             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   13813             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   13814             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   13815             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   13816             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   13817             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   13818             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   13819             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   13820             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   13821             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   13822             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   13823             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   13824             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   13825             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   13826             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   13827             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   13828             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   13829             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   13830             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   13831             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   13832             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   13833             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   13834             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   13835             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13836             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   13837             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   13838             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   13839             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   13840             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   13841             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   13842             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   13843             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   13844             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   13845             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   13846             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   13847             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   13848             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   13849             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   13850             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   13851             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   13852             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   13853             :      365,   366,   367,     0,   368,   369,   370,   371,  1015,     0,
   13854             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   13855             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   13856             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   13857             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   13858             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   13859             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   13860             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   13861             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   13862             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   13863             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   13864             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   13865             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   13866             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   13867             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   13868             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   13869             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   13870             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   13871             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   13872             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   13873             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   13874             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   13875             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   13876             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   13877             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   13878             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   13879             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   13880             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   13881             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   13882             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   13883             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   13884             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   13885             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   13886             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13887             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   13888             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   13889             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   13890             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   13891             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   13892             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   13893             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   13894             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   13895             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   13896             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   13897             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   13898             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   13899             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   13900             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   13901             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   13902             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   13903             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   13904             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1031,
   13905             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   13906             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   13907             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   13908             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   13909             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   13910             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   13911             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   13912             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   13913             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   13914             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   13915             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   13916             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   13917             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   13918             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   13919             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   13920             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   13921             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   13922             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   13923             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   13924             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   13925             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   13926             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   13927             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   13928             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   13929             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   13930             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   13931             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   13932             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   13933             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   13934             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   13935             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   13936             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   13937             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13938             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   13939             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   13940             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   13941             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   13942             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   13943             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   13944             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   13945             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   13946             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   13947             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   13948             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   13949             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   13950             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   13951             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   13952             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   13953             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   13954             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   13955             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   13956             :     1088,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   13957             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   13958             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   13959             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   13960             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   13961             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   13962             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   13963             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   13964             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   13965             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   13966             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   13967             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   13968             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   13969             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   13970             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   13971             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   13972             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   13973             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   13974             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   13975             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   13976             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   13977             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   13978             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   13979             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   13980             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   13981             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   13982             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   13983             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   13984             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   13985             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   13986             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   13987             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   13988             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   13989             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   13990             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   13991             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   13992             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   13993             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   13994             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   13995             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   13996             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   13997             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   13998             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   13999             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14000             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14001             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14002             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   14003             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   14004             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   14005             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   14006             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   14007             :      371,  1093,     0,   374,   375,   376,   377,     0,   378,   379,
   14008             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   14009             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   14010             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   14011             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14012             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   14013             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   14014             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14015             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   14016             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   14017             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   14018             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   14019             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   14020             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14021             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   14022             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   14023             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14024             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14025             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   14026             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   14027             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   14028             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14029             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14030             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   14031             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   14032             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   14033             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   14034             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   14035             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   14036             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14037             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   14038             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14039             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14040             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14041             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14042             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14043             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14044             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14045             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   14046             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14047             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14048             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14049             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14050             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14051             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14052             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14053             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   14054             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   14055             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   14056             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   14057             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   14058             :      370,   371,  1110,     0,   374,   375,   376,   377,     0,   378,
   14059             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   14060             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   14061             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   14062             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14063             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   14064             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   14065             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14066             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   14067             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   14068             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   14069             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   14070             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   14071             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14072             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   14073             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   14074             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14075             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14076             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   14077             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   14078             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   14079             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14080             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14081             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   14082             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   14083             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   14084             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   14085             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   14086             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   14087             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14088             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   14089             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14090             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14091             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14092             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14093             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14094             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14095             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14096             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14097             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14098             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14099             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14100             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14101             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14102             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14103             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14104             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   14105             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14106             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   14107             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   14108             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   14109             :      369,   370,   371,  1113,     0,   374,   375,   376,   377,     0,
   14110             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   14111             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   14112             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   14113             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14114             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   14115             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   14116             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14117             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   14118             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   14119             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   14120             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   14121             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   14122             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14123             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   14124             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   14125             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14126             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14127             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14128             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14129             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14130             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14131             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14132             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   14133             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   14134             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   14135             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   14136             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   14137             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   14138             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   14139             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14140             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14141             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14142             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14143             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14144             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14145             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14146             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14147             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14148             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14149             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14150             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14151             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14152             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14153             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14154             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14155             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14156             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   14157             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   14158             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   14159             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   14160             :      368,   369,   370,   371,  1115,     0,   374,   375,   376,   377,
   14161             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   14162             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   14163             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   14164             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14165             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   14166             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   14167             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14168             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   14169             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14170             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   14171             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   14172             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   14173             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14174             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   14175             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   14176             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14177             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14178             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14179             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14180             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14181             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14182             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14183             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   14184             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   14185             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   14186             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   14187             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   14188             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   14189             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   14190             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14191             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14192             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14193             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14194             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14195             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14196             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14197             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14198             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14199             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14200             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14201             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14202             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14203             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14204             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14205             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14206             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14207             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   14208             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   14209             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   14210             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   14211             :        0,   368,   369,   370,   371,  1153,     0,   374,   375,   376,
   14212             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   14213             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   14214             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   14215             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14216             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   14217             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   14218             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14219             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   14220             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14221             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   14222             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   14223             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   14224             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   14225             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   14226             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   14227             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14228             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14229             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14230             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14231             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14232             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14233             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14234             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14235             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   14236             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   14237             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   14238             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   14239             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   14240             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   14241             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14242             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14243             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14244             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14245             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14246             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14247             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14248             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14249             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14250             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14251             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14252             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14253             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14254             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14255             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14256             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14257             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14258             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   14259             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   14260             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   14261             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   14262             :      367,     0,   368,   369,   370,   371,  1181,     0,   374,   375,
   14263             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   14264             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   14265             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   14266             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14267             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   14268             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   14269             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14270             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   14271             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14272             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   14273             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   14274             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   14275             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   14276             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   14277             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   14278             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14279             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14280             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14281             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14282             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14283             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14284             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14285             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14286             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   14287             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   14288             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   14289             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   14290             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   14291             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   14292             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14293             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14294             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14295             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14296             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14297             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14298             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14299             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14300             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14301             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   14302             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   14303             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   14304             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   14305             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   14306             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   14307             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   14308             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   14309             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   14310             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   14311             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   14312             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   14313             :      366,   367,     0,   368,   369,   370,   371,  1183,     0,   374,
   14314             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   14315             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   14316             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   14317             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   14318             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   14319             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   14320             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   14321             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   14322             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   14323             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   14324             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   14325             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   14326             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   14327             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   14328             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   14329             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14330             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14331             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14332             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14333             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14334             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14335             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14336             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14337             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   14338             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   14339             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   14340             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   14341             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   14342             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   14343             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14344             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14345             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14346             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14347             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14348             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14349             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14350             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14351             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14352             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14353             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14354             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14355             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14356             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14357             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14358             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14359             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14360             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   14361             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   14362             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   14363             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   14364             :      365,   366,   367,     0,   368,   369,   370,   371,  1193,     0,
   14365             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   14366             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   14367             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   14368             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14369             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   14370             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   14371             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   14372             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14373             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   14374             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   14375             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   14376             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   14377             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   14378             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   14379             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   14380             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14381             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14382             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14383             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14384             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14385             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14386             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14387             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14388             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   14389             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   14390             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   14391             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   14392             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   14393             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   14394             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14395             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14396             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14397             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14398             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14399             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14400             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   14401             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14402             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14403             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14404             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14405             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14406             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14407             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14408             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14409             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14410             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14411             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   14412             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   14413             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   14414             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   14415             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  1196,
   14416             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   14417             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   14418             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   14419             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   14420             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   14421             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   14422             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   14423             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14424             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   14425             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   14426             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   14427             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   14428             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   14429             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   14430             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   14431             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   14432             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   14433             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   14434             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   14435             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   14436             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   14437             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   14438             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   14439             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   14440             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   14441             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   14442             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   14443             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   14444             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   14445             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   14446             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   14447             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   14448             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14449             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   14450             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   14451             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   14452             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   14453             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14454             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   14455             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14456             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14457             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14458             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14459             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14460             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14461             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14462             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   14463             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   14464             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   14465             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   14466             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   14467             :     1199,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   14468             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   14469             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   14470             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   14471             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14472             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   14473             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   14474             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14475             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   14476             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   14477             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   14478             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   14479             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   14480             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   14481             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   14482             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14483             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14484             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14485             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   14486             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   14487             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   14488             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   14489             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   14490             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   14491             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   14492             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   14493             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   14494             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   14495             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   14496             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   14497             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   14498             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   14499             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14500             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   14501             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   14502             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   14503             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   14504             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   14505             :        0,     0,   842,   271,   272,   273,   274,     0,   275,   276,
   14506             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   14507             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   14508             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   14509             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   14510             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   14511             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   14512             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   14513             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   14514             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   14515             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   14516             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   14517             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   14518             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   14519             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   14520             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   14521             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   14522             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   14523             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   14524             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   14525             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   14526             :      442,   443,   444,   845,   446,     0,   448,   449,   450,   451,
   14527             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   14528             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   14529             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   14530             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   14531             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   14532             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   14533             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   14534             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   14535             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   14536             :      532,     0,   533,   534,     0,   846,   537,   538,   539,   540,
   14537             :      541,   542,   543,   544,   545,   847,   547,   548,   549,   550,
   14538             :      551,     0,   552,   553,   554,   555,  1394,     0,   557,   558,
   14539             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   14540             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   14541             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   14542             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   14543             :      594,   849,   596,     0,     0,   850,   598,   599,   600,   601,
   14544             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   14545             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   14546             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   14547             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   14548             :      632,   633,   634,   635,   851,   637,   638,   639,   640,   641,
   14549             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   14550             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14551             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   14552             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   14553             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   14554             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   14555             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   14556             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   14557             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   14558             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   14559             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   14560             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   14561             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   14562             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   14563             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   14564             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   14565             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   14566             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   14567             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   14568             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   14569             :      370,   371,  1872,     0,   374,   375,   376,   377,     0,   378,
   14570             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   14571             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   14572             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   14573             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   14574             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   14575             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   14576             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   14577             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   14578             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   14579             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   14580             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   14581             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   14582             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   14583             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   14584             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   14585             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   14586             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   14587             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   14588             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   14589             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   14590             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   14591             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   14592             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   14593             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   14594             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   14595             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   14596             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   14597             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   14598             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   14599             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   14600             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   14601             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14602             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   14603             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   14604             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   14605             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   14606             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   14607             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   14608             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   14609             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   14610             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   14611             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   14612             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   14613             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   14614             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   14615             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   14616             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   14617             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   14618             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   14619             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   14620             :      369,   370,   371,  1906,     0,   374,   375,   376,   377,     0,
   14621             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   14622             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   14623             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   14624             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   14625             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   14626             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   14627             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   14628             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   14629             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   14630             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   14631             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   14632             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   14633             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   14634             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   14635             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   14636             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   14637             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   14638             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   14639             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   14640             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   14641             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   14642             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   14643             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   14644             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   14645             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   14646             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   14647             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   14648             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   14649             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   14650             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   14651             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   14652             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   14653             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   14654             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   14655             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   14656             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   14657             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   14658             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   14659             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   14660             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   14661             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   14662             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   14663             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   14664             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   14665             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   14666             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   14667             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   14668             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   14669             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   14670             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   14671             :      368,   369,   370,   371,  1908,     0,   374,   375,   376,   377,
   14672             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   14673             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   14674             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   14675             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   14676             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   14677             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   14678             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   14679             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   14680             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   14681             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   14682             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   14683             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   14684             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   14685             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   14686             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   14687             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   14688             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   14689             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   14690             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   14691             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   14692             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   14693             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   14694             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   14695             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   14696             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   14697             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   14698             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   14699             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   14700             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   14701             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   14702             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   14703             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   14704             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   14705             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   14706             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   14707             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   14708             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   14709             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   14710             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   14711             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   14712             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   14713             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   14714             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   14715             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   14716             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   14717             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   14718             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   14719             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   14720             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   14721             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   14722             :        0,   368,   369,   370,   371,  1948,     0,   374,   375,   376,
   14723             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   14724             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   14725             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   14726             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   14727             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   14728             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   14729             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   14730             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   14731             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   14732             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   14733             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   14734             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   14735             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   14736             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   14737             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   14738             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   14739             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   14740             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   14741             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   14742             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   14743             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   14744             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   14745             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   14746             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   14747             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   14748             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   14749             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   14750             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   14751             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   14752             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   14753             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   14754             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   14755             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14756             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   14757             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   14758             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   14759             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   14760             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   14761             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   14762             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   14763             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   14764             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   14765             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   14766             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   14767             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   14768             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   14769             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   14770             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   14771             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   14772             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   14773             :      367,     0,   368,   369,   370,   371,  1950,     0,   374,   375,
   14774             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   14775             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   14776             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   14777             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   14778             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   14779             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   14780             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   14781             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   14782             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   14783             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   14784             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   14785             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   14786             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   14787             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   14788             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   14789             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   14790             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   14791             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   14792             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   14793             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   14794             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   14795             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   14796             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   14797             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   14798             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   14799             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   14800             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   14801             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   14802             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   14803             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   14804             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   14805             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   14806             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14807             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   14808             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   14809             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   14810             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   14811             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   14812             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   14813             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   14814             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   14815             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   14816             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   14817             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   14818             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   14819             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   14820             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   14821             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   14822             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   14823             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   14824             :      366,   367,     0,   368,   369,   370,   371,  1952,     0,   374,
   14825             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   14826             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   14827             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   14828             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   14829             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   14830             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   14831             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   14832             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   14833             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   14834             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   14835             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   14836             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   14837             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   14838             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   14839             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   14840             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   14841             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   14842             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   14843             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   14844             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   14845             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   14846             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   14847             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   14848             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   14849             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   14850             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   14851             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   14852             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   14853             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   14854             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   14855             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   14856             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   14857             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14858             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   14859             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   14860             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   14861             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   14862             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   14863             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   14864             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   14865             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   14866             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   14867             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   14868             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   14869             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   14870             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   14871             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   14872             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   14873             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   14874             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   14875             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   14876             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   14877             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   14878             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   14879             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   14880             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   14881             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   14882             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   14883             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   14884             :      445,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   14885             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   14886             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   14887             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   14888             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   14889             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   14890             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   14891             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   14892             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   14893             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   14894             :      534,     0,   536,   537,   538,   539,   540,   541,   542,   543,
   14895             :     2046,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   14896             :      553,   554,   555,   556,     0,   557,   558,   559,   560,   561,
   14897             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   14898             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   14899             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   14900             :      588,   589,   590,   591,   592,   593,     0,   594,   595,   596,
   14901             :        0,     0,   597,   598,   599,   600,   601,     0,   602,   603,
   14902             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   14903             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   14904             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   14905             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   14906             :      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
   14907             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   14908             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14909             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   14910             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   14911             :        0,  2723,     0,   247,   248,   249,     0,   250,   251,   252,
   14912             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   14913             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   14914             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   14915             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   14916             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   14917             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   14918             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   14919             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   14920             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   14921             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   14922             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   14923             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   14924             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   14925             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   14926             :        0,   365,   366,   367,     0,   368,   369,   370,   371,   372,
   14927             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   14928             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   14929             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   14930             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   14931             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   14932             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   14933             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   14934             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   14935             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   14936             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   14937             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   14938             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   14939             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   14940             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   14941             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   14942             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   14943             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   14944             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   14945             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   14946             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   14947             :      552,   553,   554,   555,   556,     0,     0,   558,   559,   560,
   14948             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   14949             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   14950             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   14951             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   14952             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   14953             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   14954             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   14955             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   14956             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   14957             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   14958             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   14959             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   14960             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   14961             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   14962             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   14963             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   14964             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   14965             :        0,   842,   271,   272,   273,   274,     0,   275,   276,   277,
   14966             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   14967             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   14968             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   14969             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   14970             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   14971             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   14972             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   14973             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   14974             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   14975             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   14976             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   14977             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   14978             :      372,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   14979             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   14980             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   14981             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   14982             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   14983             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   14984             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   14985             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   14986             :      443,   444,   845,   446,     0,   448,   449,   450,   451,   452,
   14987             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   14988             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   14989             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   14990             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   14991             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   14992             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   14993             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   14994             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   14995             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   14996             :        0,   533,   534,     0,   846,   537,   538,   539,   540,   541,
   14997             :      542,   543,   544,   545,   847,   547,   548,   549,   550,   551,
   14998             :        0,   552,   553,   554,   555,  1394,     0,   557,   558,   559,
   14999             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15000             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15001             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   15002             :      586,     0,  2757,   589,   590,   591,   592,   593,     0,   594,
   15003             :      849,   596,     0,     0,   850,   598,   599,   600,   601,     0,
   15004             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   15005             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   15006             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   15007             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15008             :      633,   634,   635,   851,   637,   638,   639,   640,   641,   642,
   15009             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15010             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15011             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15012             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15013             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15014             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15015             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15016             :        0,     0,   842,   271,   272,   273,   274,     0,   275,   276,
   15017             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15018             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15019             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15020             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15021             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15022             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15023             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15024             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   15025             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   15026             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   15027             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   15028             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   15029             :      371,   372,     0,   374,   375,   376,   377,     0,   378,   379,
   15030             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   15031             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   15032             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   15033             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15034             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   15035             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   15036             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15037             :      442,   443,   444,   845,   446,     0,   448,   449,   450,   451,
   15038             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   15039             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   15040             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   15041             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   15042             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15043             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   15044             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   15045             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15046             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15047             :      532,     0,   533,   534,     0,   846,   537,   538,   539,   540,
   15048             :      541,   542,   543,   544,   545,  2819,   547,   548,   549,   550,
   15049             :      551,     0,   552,   553,   554,   555,  2820,     0,   557,   558,
   15050             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15051             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15052             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   15053             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   15054             :      594,   849,   596,     0,     0,  2821,   598,   599,   600,   601,
   15055             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   15056             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   15057             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   15058             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15059             :      632,   633,   634,   635,   851,   637,   638,   639,   640,   641,
   15060             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15061             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15062             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15063             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15064             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15065             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15066             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15067             :      269,     0,     0,   842,   271,   272,   273,   274,     0,   275,
   15068             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15069             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15070             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15071             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15072             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15073             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15074             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15075             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   15076             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   15077             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   15078             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   15079             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   15080             :      370,   371,   372,     0,   374,   375,   376,   377,     0,   378,
   15081             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   15082             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   15083             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   15084             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15085             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   15086             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   15087             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15088             :      441,   442,   443,   444,   845,   446,     0,   448,   449,   450,
   15089             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   15090             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   15091             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   15092             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   15093             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15094             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   15095             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   15096             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15097             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15098             :      531,   532,     0,   533,   534,     0,   846,   537,   538,   539,
   15099             :      540,   541,   542,   543,   544,   545,  2906,   547,   548,   549,
   15100             :      550,   551,     0,   552,   553,   554,   555,  2820,     0,   557,
   15101             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15102             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15103             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   15104             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   15105             :        0,   594,   849,   596,     0,     0,  2821,   598,   599,   600,
   15106             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   15107             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   15108             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   15109             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15110             :      631,   632,   633,   634,   635,   851,   637,   638,   639,   640,
   15111             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15112             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15113             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15114             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15115             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15116             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15117             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15118             :      268,   269,     0,     0,   842,   271,   272,   273,   274,     0,
   15119             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15120             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15121             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15122             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15123             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15124             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15125             :      322,   323,     0,     0,   324,   325,   326,   327,   328,     0,
   15126             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   15127             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15128             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   15129             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   15130             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   15131             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   15132             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   15133             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   15134             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   15135             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15136             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   15137             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   15138             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15139             :      440,   441,   442,   443,   444,   845,   446,     0,   448,   449,
   15140             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   15141             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   15142             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   15143             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   15144             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15145             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   15146             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   15147             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15148             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15149             :      530,   531,   532,     0,   533,   534,     0,   846,   537,   538,
   15150             :      539,   540,   541,   542,   543,   544,   545,  2930,   547,   548,
   15151             :      549,   550,   551,     0,   552,   553,   554,   555,  2820,     0,
   15152             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15153             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15154             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   15155             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   15156             :      593,     0,   594,   849,   596,     0,     0,  2821,   598,   599,
   15157             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   15158             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   15159             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   15160             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   15161             :        0,   631,   632,   633,   634,   635,   851,   637,   638,   639,
   15162             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15163             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15164             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15165             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15166             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15167             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15168             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15169             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   15170             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15171             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15172             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15173             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15174             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15175             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15176             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   15177             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15178             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   15179             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   15180             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   15181             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   15182             :      368,   369,   370,   371,  3124,     0,   374,   375,   376,   377,
   15183             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   15184             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   15185             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   15186             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15187             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   15188             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   15189             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15190             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   15191             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15192             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   15193             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   15194             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   15195             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15196             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   15197             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   15198             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15199             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15200             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   15201             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   15202             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   15203             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15204             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15205             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   15206             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   15207             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   15208             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   15209             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   15210             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   15211             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   15212             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   15213             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15214             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15215             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15216             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15217             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15218             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15219             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15220             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15221             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15222             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15223             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15224             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15225             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15226             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15227             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15228             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15229             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   15230             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   15231             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   15232             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   15233             :        0,   368,   369,   370,   371,  3128,     0,   374,   375,   376,
   15234             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   15235             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   15236             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   15237             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15238             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   15239             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   15240             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15241             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   15242             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15243             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   15244             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   15245             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   15246             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   15247             :      491,   492,   493,   494,   495,     0,   496,   497,   498,   499,
   15248             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   15249             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15250             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15251             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15252             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15253             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15254             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15255             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15256             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15257             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   15258             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   15259             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   15260             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   15261             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   15262             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   15263             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15264             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15265             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15266             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15267             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15268             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15269             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15270             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15271             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15272             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15273             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15274             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15275             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15276             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15277             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15278             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15279             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15280             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   15281             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   15282             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   15283             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   15284             :      367,     0,   368,   369,   370,   371,  3186,     0,   374,   375,
   15285             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   15286             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   15287             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   15288             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15289             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   15290             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   15291             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15292             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   15293             :        0,   448,   449,   450,   451,   452,   453,   454,   455,   456,
   15294             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   15295             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   15296             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   15297             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   15298             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   15299             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   15300             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15301             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   15302             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   15303             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   15304             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   15305             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   15306             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   15307             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   15308             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   15309             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   15310             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   15311             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   15312             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   15313             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   15314             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   15315             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   15316             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   15317             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15318             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   15319             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   15320             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   15321             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   15322             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   15323             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15324             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15325             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15326             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15327             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15328             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15329             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15330             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15331             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   15332             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   15333             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   15334             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   15335             :      366,   367,     0,   368,   369,   370,   371,  3577,     0,   374,
   15336             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   15337             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   15338             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   15339             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15340             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   15341             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   15342             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15343             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15344             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   15345             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   15346             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   15347             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   15348             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   15349             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   15350             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   15351             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
   15352             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15353             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15354             :        0,   536,   537,   538,   539,   540,   541,   542,   543,   544,
   15355             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15356             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15357             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15358             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15359             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   15360             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   15361             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   15362             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   15363             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   15364             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   15365             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15366             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15367             :      646,   647,   648,   649,   650,   658,     0,     0,     0,     0,
   15368             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15369             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15370             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15371             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15372             :        0,   255,   256,   257,   258,   259,     0,   261,   262,     0,
   15373             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   842,
   15374             :      271,   272,   273,   274,     0,   275,   276,   277,   278,   279,
   15375             :        0,     0,     0,   281,   282,   283,   284,   285,   286,     0,
   15376             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15377             :      297,     0,     0,   299,   300,   301,     0,     0,     0,     0,
   15378             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   309,
   15379             :      310,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15380             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15381             :      325,   326,   327,   328,     0,   329,   330,   331,   332,     0,
   15382             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   15383             :      342,   343,   344,   345,   346,   347,     0,   348,     0,   349,
   15384             :      350,   351,   352,   353,     0,   354,     0,   355,   356,     0,
   15385             :        0,     0,   359,   360,   361,   362,     0,   363,   364,     0,
   15386             :      365,   366,   367,     0,   368,   369,   370,   371,   372,     0,
   15387             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   15388             :      383,   384,   385,     0,   386,     0,   388,   389,   390,   391,
   15389             :      392,   393,   394,     0,   395,     0,   396,     0,     0,   399,
   15390             :        0,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   15391             :      410,   411,   412,   413,   414,   415,   416,   417,   418,     0,
   15392             :        0,   419,   420,     0,   422,     0,     0,   424,   425,   426,
   15393             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   15394             :      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
   15395             :      845,   446,     0,   448,   449,   450,   451,   452,   453,   454,
   15396             :      455,   456,   457,   458,   459,     0,   460,   461,     0,   463,
   15397             :        0,   464,   465,   466,   467,   468,   469,   470,     0,   471,
   15398             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   15399             :      478,   479,     0,   481,     0,   483,   484,   485,   486,   487,
   15400             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   15401             :      497,   498,   499,   500,   501,   502,   503,   504,     0,   505,
   15402             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15403             :      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15404             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15405             :      534,     0,   846,   537,   538,   539,   540,   541,   542,   543,
   15406             :      544,   545,   847,   547,   548,   549,   550,   551,     0,   552,
   15407             :      553,   554,   555,  2820,     0,   557,   558,   559,   560,   561,
   15408             :        0,   563,   564,   565,   566,     0,   567,   568,   569,   570,
   15409             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15410             :      581,   582,   583,     0,   584,   585,     0,     0,   586,     0,
   15411             :      588,   589,   590,   591,   592,   593,     0,   594,   849,   596,
   15412             :        0,     0,  2821,   598,   599,   600,   601,     0,   602,   603,
   15413             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   15414             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   15415             :      620,   621,   622,     0,   623,     0,   625,   626,   627,   628,
   15416             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15417             :      635,   851,   637,   638,   639,   640,   641,   642,   643,   644,
   15418             :      645,   646,   647,   648,   649,   650,   658,     0,     0,     0,
   15419             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15420             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   15421             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   15422             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   15423             :      253,     0,   255,   256,   257,   258,   259,     0,   261,   262,
   15424             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   15425             :      270,   271,   272,   273,   274,     0,   275,   276,   277,   278,
   15426             :      279,     0,     0,     0,   281,   282,   283,   284,   285,   286,
   15427             :        0,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   15428             :      296,   297,     0,     0,   299,   300,   301,     0,     0,     0,
   15429             :        0,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   15430             :      309,   310,   311,     0,   312,     0,   313,   314,   315,   316,
   15431             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   15432             :      324,   325,   326,   327,   328,     0,   329,   330,   331,   332,
   15433             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   15434             :      341,   342,   343,   344,   345,   346,   347,     0,   348,     0,
   15435             :      349,   350,   351,   352,   353,     0,   354,     0,   355,   356,
   15436             :        0,     0,     0,   359,   360,   361,   362,     0,   363,   364,
   15437             :        0,   365,   366,   367,     0,   368,   369,   370,   371,  3635,
   15438             :        0,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   15439             :      382,   383,   384,   385,     0,   386,     0,   388,   389,   390,
   15440             :      391,   392,   393,   394,     0,   395,     0,   396,     0,     0,
   15441             :      399,     0,   401,   402,   403,   404,   405,   406,   407,   408,
   15442             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   15443             :        0,     0,   419,   420,     0,   422,     0,     0,   424,   425,
   15444             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   15445             :      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
   15446             :      444,   445,   446,     0,   448,   449,   450,   451,   452,   453,
   15447             :      454,   455,   456,   457,   458,   459,     0,   460,   461,     0,
   15448             :      463,     0,   464,   465,   466,   467,   468,   469,   470,     0,
   15449             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   15450             :      477,   478,   479,     0,   481,     0,   483,   484,   485,   486,
   15451             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   15452             :      496,   497,   498,   499,   500,   501,   502,   503,   504,     0,
   15453             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   15454             :      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
   15455             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   15456             :      533,   534,     0,   536,   537,   538,   539,   540,   541,   542,
   15457             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   15458             :      552,   553,   554,   555,   556,     0,   557,   558,   559,   560,
   15459             :      561,     0,   563,   564,   565,   566,     0,   567,   568,   569,
   15460             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   15461             :      580,   581,   582,   583,     0,   584,   585,     0,     0,   586,
   15462             :        0,   588,   589,   590,   591,   592,   593,     0,   594,   595,
   15463             :      596,     0,     0,   597,   598,   599,   600,   601,     0,   602,
   15464             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   15465             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   15466             :      619,   620,   621,   622,     0,   623,     0,   625,   626,   627,
   15467             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   15468             :      634,   635,   636,   637,   638,   639,   640,   641,   642,   643,
   15469             :      644,   645,   646,   647,   648,   649,   650,   658,     0,     0,
   15470             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15471             :        0,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   15472             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   15473             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   15474             :      252,   253,     0,   255,   256,   257,   258,   259,     0,   261,
   15475             :      262,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   15476             :        0,   270,   271,   272,   273,   274,     0,   275,   276,   277,
   15477             :      278,   279,     0,     0,     0,   281,   282,   283,   284,   285,
   15478             :      286,     0,   288,   289,   290,   291,     0,   292,   293,   294,
   15479             :      295,   296,   297,     0,     0,   299,   300,   301,     0,     0,
   15480             :        0,     0,     0,     0,     0,   303,   304,   305,   306,   307,
   15481             :      308,   309,   310,   311,     0,   312,     0,   313,   314,   315,
   15482             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   15483             :        0,   324,   325,   326,   327,   328,     0,   329,   330,   331,
   15484             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   15485             :      340,   341,   342,   343,   344,   345,   346,   347,     0,   348,
   15486             :        0,   349,   350,   351,   352,   353,     0,   354,     0,   355,
   15487             :      356,     0,     0,     0,   359,   360,   361,   362,     0,   363,
   15488             :      364,     0,   365,   366,   367,     0,   368,   369,   370,   371,
   15489             :     3658,     0,   374,   375,   376,   377,     0,   378,   379,   380,
   15490             :      381,   382,   383,   384,   385,     0,   386,     0,   388,   389,
   15491             :      390,   391,   392,   393,   394,     0,   395,     0,   396,     0,
   15492             :        0,   399,     0,   401,   402,   403,   404,   405,   406,   407,
   15493             :      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
   15494             :      418,     0,     0,   419,   420,     0,   422,     0,     0,   424,
   15495             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   15496             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   15497             :      443,   444,   445,   446,     0,   448,   449,   450,   451,   452,
   15498             :      453,   454,   455,   456,   457,   458,   459,     0,   460,   461,
   15499             :        0,   463,     0,   464,   465,   466,   467,   468,   469,   470,
   15500             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   15501             :        0,   477,   478,   479,     0,   481,     0,   483,   484,   485,
   15502             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   15503             :        0,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   15504             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   15505             :      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
   15506             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   15507             :        0,   533,   534,     0,   536,   537,   538,   539,   540,   541,
   15508             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   15509             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   559,
   15510             :      560,   561,     0,   563,   564,   565,   566,     0,   567,   568,
   15511             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   15512             :      579,   580,   581,   582,   583,     0,   584,   585,     0,     0,
   15513             :      586,     0,   588,   589,   590,   591,   592,   593,     0,   594,
   15514             :      595,   596,     0,     0,   597,   598,   599,   600,   601,     0,
   15515             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   15516             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   15517             :      618,   619,   620,   621,   622,     0,   623,     0,   625,   626,
   15518             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   15519             :      633,   634,   635,   636,   637,   638,   639,   640,   641,   642,
   15520             :      643,   644,   645,   646,   647,   648,   649,   650,   658,     0,
   15521             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15522             :        0,     0,     0,     0,     0,   235,   236,   237,   238,   239,
   15523             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   15524             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   15525             :      251,   252,   253,     0,   255,   256,   257,   258,   259,     0,
   15526             :      261,   262,     0,   263,   264,   265,   266,   267,   268,   269,
   15527             :        0,     0,   270,   271,   272,   273,   274,     0,   275,   276,
   15528             :      277,   278,   279,     0,     0,     0,   281,   282,   283,   284,
   15529             :      285,   286,     0,   288,   289,   290,   291,     0,   292,   293,
   15530             :      294,   295,   296,   297,     0,     0,   299,   300,   301,     0,
   15531             :        0,     0,     0,     0,     0,     0,   303,   304,   305,   306,
   15532             :      307,   308,   309,   310,   311,     0,   312,     0,   313,   314,
   15533             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   15534             :        0,     0,   324,   325,   326,   327,   328,     0,   329,   330,
   15535             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   15536             :      339,   340,   341,   342,   343,   344,   345,   346,   347,     0,
   15537             :      348,     0,   349,   350,   351,   352,   353,     0,   354,     0,
   15538             :      355,   356,     0,     0,     0,   359,   360,   361,   362,     0,
   15539             :      363,   364,     0,   365,   366,   367,     0,   368,   369,   370,
   15540             :      371,  3660,     0,   374,   375,   376,   377,     0,   378,   379,
   15541             :      380,   381,   382,   383,   384,   385,     0,   386,     0,   388,
   15542             :      389,   390,   391,   392,   393,   394,     0,   395,     0,   396,
   15543             :        0,     0,   399,     0,   401,   402,   403,   404,   405,   406,
   15544             :      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
   15545             :      417,   418,     0,     0,   419,   420,     0,   422,     0,     0,
   15546             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   15547             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   15548             :      442,   443,   444,   445,   446,     0,   448,   449,   450,   451,
   15549             :      452,   453,   454,   455,   456,   457,   458,   459,     0,   460,
   15550             :      461,     0,   463,     0,   464,   465,   466,   467,   468,   469,
   15551             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   15552             :        0,     0,   477,   478,   479,     0,   481,     0,   483,   484,
   15553             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   15554             :      495,     0,   496,   497,   498,   499,   500,   501,   502,   503,
   15555             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   15556             :      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
   15557             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   15558             :      532,     0,   533,   534,     0,   536,   537,   538,   539,   540,
   15559             :      541,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   15560             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   15561             :      559,   560,   561,     0,   563,   564,   565,   566,     0,   567,
   15562             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   15563             :      578,   579,   580,   581,   582,   583,     0,   584,   585,     0,
   15564             :        0,   586,     0,   588,   589,   590,   591,   592,   593,     0,
   15565             :      594,   595,   596,     0,     0,   597,   598,   599,   600,   601,
   15566             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   15567             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   15568             :      617,   618,   619,   620,   621,   622,     0,   623,     0,   625,
   15569             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   15570             :      632,   633,   634,   635,   636,   637,   638,   639,   640,   641,
   15571             :      642,   643,   644,   645,   646,   647,   648,   649,   650,   658,
   15572             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15573             :        0,     0,     0,     0,     0,     0,   235,   236,   237,   238,
   15574             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15575             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15576             :      250,   251,   252,   253,     0,   255,   256,   257,   258,   259,
   15577             :        0,   261,   262,     0,   263,   264,   265,   266,   267,   268,
   15578             :      269,     0,     0,   270,   271,   272,   273,   274,     0,   275,
   15579             :      276,   277,   278,   279,     0,     0,     0,   281,   282,   283,
   15580             :      284,   285,   286,     0,   288,   289,   290,   291,     0,   292,
   15581             :      293,   294,   295,   296,   297,     0,     0,   299,   300,   301,
   15582             :        0,     0,     0,     0,     0,     0,     0,   303,   304,   305,
   15583             :      306,   307,   308,   309,   310,   311,     0,   312,     0,   313,
   15584             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15585             :      323,     0,     0,   324,   325,   326,   327,   328,     0,   329,
   15586             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   15587             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   15588             :        0,   348,     0,   349,   350,   351,   352,   353,     0,   354,
   15589             :        0,   355,   356,     0,     0,     0,   359,   360,   361,   362,
   15590             :        0,   363,   364,     0,   365,   366,   367,     0,   368,   369,
   15591             :      370,   371,  3810,     0,   374,   375,   376,   377,     0,   378,
   15592             :      379,   380,   381,   382,   383,   384,   385,     0,   386,     0,
   15593             :      388,   389,   390,   391,   392,   393,   394,     0,   395,     0,
   15594             :      396,     0,     0,   399,     0,   401,   402,   403,   404,   405,
   15595             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   15596             :      416,   417,   418,     0,     0,   419,   420,     0,   422,     0,
   15597             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   15598             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   15599             :      441,   442,   443,   444,   445,   446,     0,   448,   449,   450,
   15600             :      451,   452,   453,   454,   455,   456,   457,   458,   459,     0,
   15601             :      460,   461,     0,   463,     0,   464,   465,   466,   467,   468,
   15602             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   15603             :      476,     0,     0,   477,   478,   479,     0,   481,     0,   483,
   15604             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   15605             :      494,   495,     0,   496,   497,   498,   499,   500,   501,   502,
   15606             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   15607             :      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
   15608             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   15609             :      531,   532,     0,   533,   534,     0,   536,   537,   538,   539,
   15610             :      540,   541,   542,   543,   544,   545,   546,   547,   548,   549,
   15611             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   15612             :      558,   559,   560,   561,     0,   563,   564,   565,   566,     0,
   15613             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   15614             :      577,   578,   579,   580,   581,   582,   583,     0,   584,   585,
   15615             :        0,     0,   586,     0,   588,   589,   590,   591,   592,   593,
   15616             :        0,   594,   595,   596,     0,     0,   597,   598,   599,   600,
   15617             :      601,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   15618             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   15619             :      616,   617,   618,   619,   620,   621,   622,     0,   623,     0,
   15620             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   15621             :      631,   632,   633,   634,   635,   636,   637,   638,   639,   640,
   15622             :      641,   642,   643,   644,   645,   646,   647,   648,   649,   650,
   15623             :      658,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15624             :        0,     0,     0,     0,     0,     0,     0,   235,   236,   237,
   15625             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   15626             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   15627             :        0,   250,   251,   252,   253,     0,   255,   256,   257,   258,
   15628             :      259,     0,   261,   262,     0,   263,   264,   265,   266,   267,
   15629             :      268,   269,     0,     0,   270,   271,   272,   273,   274,     0,
   15630             :      275,   276,   277,   278,   279,     0,     0,     0,   281,   282,
   15631             :      283,   284,   285,   286,     0,   288,   289,   290,   291,     0,
   15632             :      292,   293,   294,   295,   296,   297,     0,     0,   299,   300,
   15633             :      301,     0,     0,     0,     0,     0,     0,     0,   303,   304,
   15634             :      305,   306,   307,   308,   309,   310,   311,     0,   312,     0,
   15635             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   15636             :      322,   323,     0,     0,   324,  3852,   326,   327,   328,     0,
   15637             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   15638             :        0,   338,   339,   340,   341,   342,   343,   344,   345,   346,
   15639             :      347,     0,   348,     0,   349,   350,   351,   352,   353,     0,
   15640             :      354,     0,   355,   356,     0,     0,     0,   359,   360,   361,
   15641             :      362,     0,   363,   364,     0,   365,   366,   367,     0,   368,
   15642             :      369,   370,   371,   372,     0,   374,   375,   376,   377,     0,
   15643             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   15644             :        0,   388,   389,   390,   391,   392,   393,   394,     0,   395,
   15645             :        0,   396,     0,     0,   399,     0,   401,   402,   403,   404,
   15646             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   15647             :      415,   416,   417,   418,     0,     0,   419,   420,     0,   422,
   15648             :        0,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   15649             :      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
   15650             :      440,   441,   442,   443,   444,   445,   446,     0,   448,   449,
   15651             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   15652             :        0,   460,   461,     0,   463,     0,   464,   465,   466,   467,
   15653             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   15654             :      475,   476,     0,     0,   477,   478,   479,     0,   481,     0,
   15655             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   15656             :      493,   494,   495,     0,   496,   497,   498,   499,   500,   501,
   15657             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   15658             :      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
   15659             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   15660             :      530,   531,   532,     0,   533,   534,     0,   536,   537,   538,
   15661             :      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
   15662             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   15663             :      557,   558,   559,   560,   561,     0,   563,   564,   565,   566,
   15664             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   15665             :      576,   577,   578,   579,   580,   581,   582,   583,     0,   584,
   15666             :      585,     0,     0,   586,     0,   588,   589,   590,   591,   592,
   15667             :      593,     0,   594,   595,   596,     0,     0,   597,   598,   599,
   15668             :      600,   601,     0,   602,   603,   604,   605,   606,   607,   608,
   15669             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   15670             :        0,   616,   617,   618,   619,   620,   621,   622,     0,   623,
   15671             :        0,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   15672             :        0,   631,   632,   633,   634,   635,   636,   637,   638,   639,
   15673             :      640,   641,   642,   643,   644,   645,   646,   647,   648,   649,
   15674             :      650,   658,     0,     0,     0,     0,     0,     0,     0,     0,
   15675             :        0,     0,     0,     0,     0,     0,     0,     0,   235,   236,
   15676             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   15677             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   15678             :      249,     0,   250,   251,   252,   253,     0,   255,   256,   257,
   15679             :      258,   259,     0,   261,   262,     0,   263,   264,   265,   266,
   15680             :      267,   268,   269,     0,     0,   270,   271,   272,   273,   274,
   15681             :        0,   275,   276,   277,   278,   279,     0,     0,     0,   281,
   15682             :      282,   283,   284,   285,   286,     0,   288,   289,   290,   291,
   15683             :        0,   292,   293,   294,   295,   296,   297,     0,     0,   299,
   15684             :      300,   301,     0,     0,     0,     0,     0,     0,     0,   303,
   15685             :      304,   305,   306,   307,   308,   309,   310,   311,     0,   312,
   15686             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   15687             :      321,   322,   323,     0,     0,   324,   325,   326,   327,   328,
   15688             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   15689             :      337,     0,   338,   339,   340,   341,   342,   343,   344,   345,
   15690             :      346,   347,     0,   348,     0,   349,   350,   351,   352,   353,
   15691             :        0,   354,     0,   355,   356,     0,     0,     0,   359,   360,
   15692             :      361,   362,     0,   363,   364,     0,   365,   366,   367,     0,
   15693             :      368,   369,   370,   371,  5122,     0,   374,   375,   376,   377,
   15694             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   15695             :      386,     0,   388,   389,   390,   391,   392,   393,   394,     0,
   15696             :      395,     0,   396,     0,     0,   399,     0,   401,   402,   403,
   15697             :      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
   15698             :      414,   415,   416,   417,   418,     0,     0,   419,   420,     0,
   15699             :      422,     0,     0,   424,   425,   426,     0,     0,   427,   428,
   15700             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   15701             :      439,   440,   441,   442,   443,   444,   445,   446,     0,   448,
   15702             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   15703             :      459,     0,   460,   461,     0,   463,     0,   464,   465,   466,
   15704             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   15705             :      474,   475,   476,     0,     0,   477,   478,   479,     0,   481,
   15706             :        0,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   15707             :      492,   493,   494,   495,     0,   496,   497,   498,   499,   500,
   15708             :      501,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   15709             :      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
   15710             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   15711             :      529,   530,   531,   532,     0,   533,   534,     0,   536,   537,
   15712             :      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
   15713             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   15714             :        0,   557,   558,   559,   560,   561,     0,   563,   564,   565,
   15715             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   15716             :      575,   576,   577,   578,   579,   580,   581,   582,   583,     0,
   15717             :      584,   585,     0,     0,   586,     0,   588,   589,   590,   591,
   15718             :      592,   593,     0,   594,   595,   596,     0,     0,   597,   598,
   15719             :      599,   600,   601,     0,   602,   603,   604,   605,   606,   607,
   15720             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   15721             :        0,     0,   616,   617,   618,   619,   620,   621,   622,     0,
   15722             :      623,     0,   625,   626,   627,   628,   629,     0,     0,   630,
   15723             :        0,     0,   631,   632,   633,   634,   635,   636,   637,   638,
   15724             :      639,   640,   641,   642,   643,   644,   645,   646,   647,   648,
   15725             :      649,   650,   658,     0,     0,     0,     0,     0,     0,     0,
   15726             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   235,
   15727             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15728             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15729             :      248,   249,     0,   250,   251,   252,   253,     0,   255,   256,
   15730             :      257,   258,   259,     0,   261,   262,     0,   263,   264,   265,
   15731             :      266,   267,   268,   269,     0,     0,   270,   271,   272,   273,
   15732             :      274,     0,   275,   276,   277,   278,   279,     0,     0,     0,
   15733             :      281,   282,   283,   284,   285,   286,     0,   288,   289,   290,
   15734             :      291,     0,   292,   293,   294,   295,   296,   297,     0,     0,
   15735             :      299,   300,   301,     0,     0,     0,     0,     0,     0,     0,
   15736             :      303,   304,   305,   306,   307,   308,   309,   310,   311,     0,
   15737             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15738             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   15739             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15740             :      336,   337,     0,   338,   339,   340,   341,   342,   343,   344,
   15741             :      345,   346,   347,     0,   348,     0,   349,   350,   351,   352,
   15742             :      353,     0,   354,     0,   355,   356,     0,     0,     0,   359,
   15743             :      360,   361,   362,     0,   363,   364,     0,   365,   366,   367,
   15744             :        0,   368,   369,   370,   371,   372,     0,   374,   375,   376,
   15745             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   15746             :        0,   386,     0,   388,   389,   390,   391,   392,   393,   394,
   15747             :        0,   395,     0,   396,     0,     0,   399,     0,   401,   402,
   15748             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   15749             :      413,   414,   415,   416,   417,   418,     0,     0,   419,   420,
   15750             :        0,   422,     0,     0,   424,   425,   426,     0,     0,   427,
   15751             :      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
   15752             :      438,   439,   440,   441,   442,   443,   444,   445,   446,     0,
   15753             :      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
   15754             :      458,   459,     0,   460,   461,     0,   463,     0,   464,   465,
   15755             :      466,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   15756             :        0,   474,   475,   476,     0,     0,   477,   478,   479,     0,
   15757             :      481,     0,   483,   484,   485,   486,   487,   488,   489,   490,
   15758             :      491,   492,   493,   494,  5651,     0,   496,   497,   498,   499,
   15759             :      500,   501,   502,   503,   504,     0,   505,   506,   507,   508,
   15760             :      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
   15761             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15762             :      528,   529,   530,   531,   532,     0,   533,   534,     0,   536,
   15763             :      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
   15764             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15765             :      556,     0,   557,   558,   559,   560,   561,     0,   563,   564,
   15766             :      565,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15767             :      574,   575,   576,   577,   578,   579,   580,   581,   582,   583,
   15768             :        0,   584,   585,     0,     0,   586,     0,   588,   589,   590,
   15769             :      591,   592,   593,     0,   594,   595,   596,     0,     0,   597,
   15770             :      598,   599,   600,   601,     0,   602,   603,   604,   605,   606,
   15771             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   15772             :      615,     0,     0,   616,   617,   618,   619,   620,   621,   622,
   15773             :        0,   623,     0,   625,   626,   627,   628,   629,     0,     0,
   15774             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   637,
   15775             :      638,   639,   640,   641,   642,   643,   644,   645,   646,   647,
   15776             :      648,   649,   650,   658,     0,     0,     0,     0,     0,     0,
   15777             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15778             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   15779             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   15780             :      247,   248,   249,     0,   250,   251,   252,   253,     0,   255,
   15781             :      256,   257,   258,   259,     0,   261,   262,     0,   263,   264,
   15782             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   272,
   15783             :      273,   274,     0,   275,   276,   277,   278,   279,     0,     0,
   15784             :        0,   281,   282,   283,   284,   285,   286,     0,   288,   289,
   15785             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   15786             :        0,   299,   300,   301,     0,     0,     0,     0,     0,     0,
   15787             :        0,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   15788             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   15789             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   326,
   15790             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   15791             :      335,   336,   337,     0,   338,   339,   340,   341,   342,   343,
   15792             :      344,   345,   346,   347,     0,   348,     0,   349,   350,   351,
   15793             :      352,   353,     0,   354,     0,   355,   356,     0,     0,     0,
   15794             :      359,   360,   361,   362,     0,   363,   364,     0,   365,   366,
   15795             :      367,     0,   368,   369,   370,   371,   372,     0,   374,   375,
   15796             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   15797             :      385,     0,   386,     0,   388,   389,   390,   391,   392,   393,
   15798             :      394,     0,   395,     0,   396,     0,     0,   399,     0,   401,
   15799             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   15800             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   15801             :      420,     0,   422,     0,     0,   424,   425,   426,     0,     0,
   15802             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   15803             :      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
   15804             :        0,   448,  6367,   450,   451,   452,   453,   454,   455,   456,
   15805             :      457,   458,   459,     0,   460,   461,     0,   463,     0,   464,
   15806             :      465,   466,   467,   468,   469,   470,     0,   471,   472,   473,
   15807             :        0,     0,   474,   475,   476,     0,     0,   477,   478,   479,
   15808             :        0,   481,     0,   483,   484,   485,   486,   487,   488,   489,
   15809             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   15810             :      499,   500,   501,   502,   503,   504,     0,   505,   506,   507,
   15811             :      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
   15812             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   15813             :      527,   528,   529,   530,   531,   532,     0,   533,   534,     0,
   15814             :      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
   15815             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   15816             :      555,   556,     0,   557,   558,   559,   560,   561,     0,   563,
   15817             :      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
   15818             :      573,   574,   575,   576,   577,   578,   579,   580,   581,   582,
   15819             :      583,     0,   584,   585,     0,     0,   586,     0,   588,   589,
   15820             :      590,   591,   592,   593,     0,   594,   595,   596,     0,     0,
   15821             :      597,   598,   599,   600,   601,     0,   602,   603,   604,   605,
   15822             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   15823             :      614,   615,     0,     0,   616,   617,   618,   619,   620,   621,
   15824             :      622,     0,   623,     0,   625,   626,   627,   628,   629,     0,
   15825             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   15826             :      637,   638,   639,   640,   641,   642,   643,   644,   645,   646,
   15827             :      647,   648,   649,   650,   658,     0,     0,     0,     0,     0,
   15828             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15829             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   15830             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   15831             :        0,   247,   248,   249,     0,   250,   251,   252,   253,     0,
   15832             :      255,   256,   257,   258,   259,     0,   261,   262,     0,   263,
   15833             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   15834             :      272,   273,   274,     0,   275,   276,   277,   278,   279,     0,
   15835             :        0,     0,   281,   282,   283,   284,   285,   286,     0,   288,
   15836             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   15837             :        0,     0,   299,   300,   301,     0,     0,     0,     0,     0,
   15838             :        0,     0,   303,   304,   305,   306,   307,   308,   309,   310,
   15839             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   15840             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   15841             :      326,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   15842             :      334,   335,   336,   337,     0,   338,   339,   340,   341,   342,
   15843             :      343,   344,   345,   346,   347,     0,   348,     0,   349,   350,
   15844             :      351,   352,   353,     0,   354,     0,   355,   356,     0,     0,
   15845             :        0,   359,   360,   361,   362,     0,   363,   364,     0,   365,
   15846             :        0,   367,     0,   368,   369,   370,   371,   372,     0,   374,
   15847             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   15848             :      384,   385,     0,   386,     0,   388,   389,   390,   391,   392,
   15849             :      393,   394,     0,   395,     0,   396,     0,     0,   399,     0,
   15850             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   15851             :      411,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   15852             :      419,   420,     0,   422,     0,     0,   424,   425,   426,     0,
   15853             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   15854             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   15855             :      446,     0,   448,   449,   450,   451,   452,   453,   454,   455,
   15856             :      456,   457,   458,   459,     0,   460,   461,     0,   463,     0,
   15857             :      464,   465,   466,   467,   468,   469,   470,     0,   471,   472,
   15858             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   15859             :      479,     0,   481,     0,   483,   484,   485,   486,   487,   488,
   15860             :      489,   490,     0,   492,   493,   494,   495,     0,   496,   497,
   15861             :      498,   499,   500,   501,   502,   503,   504,     0,   505,   506,
   15862             :      507,   508,   509,   510,   511,   512,   513,     0,   515,   516,
   15863             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   15864             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   15865             :        0,   536,   537,   538,   539,   540,   541,     0,   543,   544,
   15866             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   15867             :      554,   555,   556,     0,   557,   558,   559,   560,   561,     0,
   15868             :      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
   15869             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   15870             :      582,   583,     0,   584,   585,     0,     0,   586,     0,   588,
   15871             :      589,   590,   591,   592,   593,     0,   594,   595,   596,     0,
   15872             :        0,   597,   598,   599,   600,   601,     0,   602,   603,   604,
   15873             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   15874             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   15875             :      621,   622,     0,   623,     0,   625,   626,   627,   628,   629,
   15876             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   15877             :      636,   637,   638,   639,   640,   641,   642,   643,   644,   645,
   15878             :      646,   647,   648,   649,   650,   879,     0,     0,     0,     0,
   15879             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15880             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   15881             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   15882             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   15883             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
   15884             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   15885             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
   15886             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   15887             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   15888             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   15889             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
   15890             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   15891             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   15892             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   15893             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   15894             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
   15895             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
   15896             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
   15897             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   15898             :      374,   375,   376,   377,  2731,   378,   379,   380,   381,   382,
   15899             :      383,   384,   385,     0,   386,   387,  2732,   389,   390,   391,
   15900             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
   15901             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   15902             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
   15903             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
   15904             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   15905             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
   15906             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
   15907             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
   15908             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
   15909             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   15910             :      478,  2734,   480,   481,   482,     0,   484,   485,   486,   487,
   15911             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   15912             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
   15913             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   15914             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   15915             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   15916             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
   15917             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   15918             :      553,   554,   555,   556,     0,   557,   558,  2735,   560,   561,
   15919             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
   15920             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   15921             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
   15922             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
   15923             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
   15924             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   15925             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   15926             :      620,     0,   901,  2736,   623,   624,   625,   626,   627,   628,
   15927             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   15928             :      635,   636,   879,     0,     0,     0,     0,     0,     0,     0,
   15929             :        0,     0,     0,   648,   649,   650,     0,     0,     0,   235,
   15930             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   15931             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   15932             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   15933             :      257,     0,   880,   260,   881,   882,     0,   263,   264,   265,
   15934             :      266,   267,   268,   269,     0,     0,   270,   271,   883,   884,
   15935             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   15936             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   15937             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   15938             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   15939             :      303,   304,   305,   306,   307,   308,   885,   886,   311,     0,
   15940             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   15941             :      320,   321,   322,   323,     0,     0,   324,   325,   887,   327,
   15942             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   15943             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   15944             :      345,   346,     0,     0,   348,     0,   349,   350,   351,   888,
   15945             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   15946             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   15947             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   15948             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   15949             :        0,   386,   387,     0,   389,   390,   391,   392,   889,   890,
   15950             :        0,   891,     0,   396,   397,   398,   399,   400,   892,     0,
   15951             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   15952             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   15953             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   15954             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   15955             :      438,   439,   440,   441,   442,   443,   444,   445,   893,   447,
   15956             :      894,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   15957             :        0,   459,     0,   460,   461,   462,   463,  2815,     0,   465,
   15958             :      895,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   15959             :        0,   474,   475,   476,     0,     0,   477,   478,     0,   480,
   15960             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   15961             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   15962             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   15963             :      509,   510,   511,   512,   513,   514,   515,   896,   517,   518,
   15964             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   15965             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   15966             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   15967             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   15968             :      556,     0,   557,   558,  2735,   560,   561,   562,   563,   564,
   15969             :      898,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   15970             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   15971             :        0,   584,   585,     0,  4635,   586,   587,   588,   589,   590,
   15972             :      591,   592,   593,     0,   594,   899,   900,     0,     0,   597,
   15973             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   15974             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   15975             :      615,     0,     0,   616,   617,   618,   619,   620,     0,   901,
   15976             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   15977             :      630,     0,     0,   631,   632,   633,   634,   635,   636,   879,
   15978             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   15979             :      648,   649,   650,     0,     0,     0,   235,   236,   237,   238,
   15980             :      239,   240,   241,   242,   243,     0,   244,   245,   246,     0,
   15981             :        0,     0,     0,     0,     0,     0,   247,   248,   249,     0,
   15982             :      250,   251,   252,   253,   254,   255,   256,   257,     0,   880,
   15983             :      260,   881,   882,     0,   263,   264,   265,   266,   267,   268,
   15984             :      269,     0,     0,   270,   271,   883,   884,   274,     0,   275,
   15985             :      276,   277,   278,     0,     0,   280,     0,   281,   282,   283,
   15986             :      284,   285,   286,   287,   288,   289,   290,   291,     0,   292,
   15987             :      293,   294,   295,   296,   297,     0,   298,   299,   300,   301,
   15988             :        0,     0,     0,   302,     0,     0,     0,   303,   304,   305,
   15989             :      306,   307,   308,   885,   886,   311,     0,   312,     0,   313,
   15990             :      314,   315,   316,   317,   318,   319,     0,   320,   321,   322,
   15991             :      323,     0,     0,   324,   325,   887,   327,   328,     0,   329,
   15992             :      330,   331,   332,     0,   333,   334,   335,   336,   337,     0,
   15993             :      338,   339,   340,   341,     0,   343,   344,   345,   346,     0,
   15994             :        0,   348,     0,   349,   350,   351,   888,   353,     0,   354,
   15995             :        0,   355,   356,   357,     0,   358,   359,   360,   361,   362,
   15996             :        0,   363,     0,     0,     0,   366,   367,     0,   368,   369,
   15997             :      370,   371,   372,   373,   374,   375,   376,   377,     0,   378,
   15998             :      379,   380,   381,   382,   383,   384,   385,     0,   386,   387,
   15999             :        0,   389,   390,   391,   392,   889,   890,     0,   891,     0,
   16000             :      396,   397,   398,   399,   400,   892,     0,     0,     0,     0,
   16001             :        0,     0,     0,     0,     0,     0,   412,   413,   414,   415,
   16002             :      416,   417,   418,     0,     0,   419,     0,   421,   422,   423,
   16003             :        0,   424,   425,   426,     0,     0,   427,   428,   429,   430,
   16004             :      431,   432,   433,   434,   435,   436,     0,   438,   439,   440,
   16005             :      441,   442,   443,   444,   445,   893,   447,   894,   449,   450,
   16006             :      451,   452,   453,   454,   455,   456,  2896,     0,   459,     0,
   16007             :      460,   461,   462,   463,     0,     0,   465,   895,   467,   468,
   16008             :      469,   470,     0,   471,   472,   473,     0,     0,   474,   475,
   16009             :      476,     0,     0,   477,   478,     0,   480,   481,   482,     0,
   16010             :      484,   485,   486,   487,   488,   489,   490,   491,   492,   493,
   16011             :      494,   495,     0,   496,   497,   498,     0,   500,     0,   502,
   16012             :      503,   504,     0,   505,   506,   507,   508,   509,   510,   511,
   16013             :      512,   513,   514,   515,   896,   517,   518,   519,     0,   520,
   16014             :      521,   522,   523,   524,   525,   526,   527,   528,   529,   530,
   16015             :      531,   532,     0,   533,   534,   535,   536,   537,   538,   539,
   16016             :      540,     0,   542,   543,   544,   545,   546,   547,   548,   549,
   16017             :      550,   551,     0,   552,   553,   554,   555,   556,     0,   557,
   16018             :      558,   897,   560,   561,   562,   563,   564,   898,   566,     0,
   16019             :      567,   568,   569,   570,   571,   572,   573,   574,   575,   576,
   16020             :      577,   578,   579,   580,   581,     0,   583,     0,   584,   585,
   16021             :        0,     0,   586,   587,   588,   589,   590,   591,   592,   593,
   16022             :        0,   594,   899,   900,     0,     0,   597,   598,     0,   600,
   16023             :        0,     0,   602,   603,   604,   605,   606,   607,   608,   609,
   16024             :      610,     0,     0,   611,   612,   613,   614,   615,     0,     0,
   16025             :      616,   617,   618,   619,   620,     0,   901,     0,   623,   624,
   16026             :      625,   626,   627,   628,   629,     0,     0,   630,     0,     0,
   16027             :      631,   632,   633,   634,   635,   636,   879,     0,     0,     0,
   16028             :        0,     0,     0,     0,     0,     0,     0,   648,   649,   650,
   16029             :        0,     0,     0,   235,   236,   237,   238,   239,   240,   241,
   16030             :      242,   243,     0,   244,   245,   246,     0,     0,     0,     0,
   16031             :        0,     0,     0,   247,   248,   249,     0,   250,   251,   252,
   16032             :      253,   254,   255,   256,   257,     0,   880,   260,   881,   882,
   16033             :        0,   263,   264,   265,   266,   267,   268,   269,     0,     0,
   16034             :      270,   271,   883,   884,   274,     0,   275,   276,   277,   278,
   16035             :        0,     0,   280,     0,   281,   282,   283,   284,   285,   286,
   16036             :      287,   288,   289,   290,   291,     0,   292,   293,   294,   295,
   16037             :      296,   297,     0,   298,   299,   300,   301,     0,     0,     0,
   16038             :      302,     0,     0,     0,   303,   304,   305,   306,   307,   308,
   16039             :      885,   886,   311,     0,   312,     0,   313,   314,   315,   316,
   16040             :      317,   318,   319,     0,   320,   321,   322,   323,     0,     0,
   16041             :      324,   325,   887,   327,   328,     0,   329,   330,   331,   332,
   16042             :        0,   333,   334,   335,   336,   337,     0,   338,   339,   340,
   16043             :      341,     0,   343,   344,   345,   346,     0,     0,   348,     0,
   16044             :      349,   350,   351,   888,   353,     0,   354,     0,   355,   356,
   16045             :      357,     0,   358,   359,   360,   361,   362,     0,   363,     0,
   16046             :        0,     0,   366,   367,     0,   368,   369,   370,   371,   372,
   16047             :      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
   16048             :      382,   383,   384,   385,     0,   386,   387,     0,   389,   390,
   16049             :      391,   392,   889,   890,     0,   891,     0,   396,   397,   398,
   16050             :      399,   400,   892,     0,     0,     0,     0,     0,     0,     0,
   16051             :        0,     0,     0,   412,   413,   414,   415,   416,   417,   418,
   16052             :        0,     0,   419,     0,   421,   422,   423,     0,   424,   425,
   16053             :      426,     0,     0,   427,   428,   429,   430,   431,   432,   433,
   16054             :      434,   435,   436,     0,   438,   439,   440,   441,   442,   443,
   16055             :      444,   445,   893,   447,   894,   449,   450,   451,   452,   453,
   16056             :      454,   455,   456,  4430,     0,   459,     0,   460,   461,   462,
   16057             :      463,     0,     0,   465,   895,   467,   468,   469,   470,     0,
   16058             :      471,   472,   473,     0,     0,   474,   475,   476,     0,     0,
   16059             :      477,   478,     0,   480,   481,   482,     0,   484,   485,   486,
   16060             :      487,   488,   489,   490,   491,   492,   493,   494,   495,     0,
   16061             :      496,   497,   498,     0,   500,     0,   502,   503,   504,     0,
   16062             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   16063             :      515,   896,   517,   518,   519,     0,   520,   521,   522,   523,
   16064             :      524,   525,   526,   527,   528,   529,   530,   531,   532,     0,
   16065             :      533,   534,   535,   536,   537,   538,   539,   540,     0,   542,
   16066             :      543,   544,   545,   546,   547,   548,   549,   550,   551,     0,
   16067             :      552,   553,   554,   555,   556,     0,   557,   558,   897,   560,
   16068             :      561,   562,   563,   564,   898,   566,     0,   567,   568,   569,
   16069             :      570,   571,   572,   573,   574,   575,   576,   577,   578,   579,
   16070             :      580,   581,     0,   583,     0,   584,   585,     0,     0,   586,
   16071             :      587,   588,   589,   590,   591,   592,   593,     0,   594,   899,
   16072             :      900,     0,     0,   597,   598,     0,   600,     0,     0,   602,
   16073             :      603,   604,   605,   606,   607,   608,   609,   610,     0,     0,
   16074             :      611,   612,   613,   614,   615,     0,     0,   616,   617,   618,
   16075             :      619,   620,     0,   901,     0,   623,   624,   625,   626,   627,
   16076             :      628,   629,     0,     0,   630,     0,     0,   631,   632,   633,
   16077             :      634,   635,   636,   879,     0,     0,     0,     0,     0,     0,
   16078             :        0,     0,     0,     0,   648,   649,   650,     0,     0,     0,
   16079             :      235,   236,   237,   238,   239,   240,   241,   242,   243,     0,
   16080             :      244,   245,   246,     0,     0,     0,     0,     0,     0,     0,
   16081             :      247,   248,   249,     0,   250,   251,   252,   253,   254,   255,
   16082             :      256,   257,     0,   880,   260,   881,   882,     0,   263,   264,
   16083             :      265,   266,   267,   268,   269,     0,     0,   270,   271,   883,
   16084             :      884,   274,     0,   275,   276,   277,   278,     0,     0,   280,
   16085             :        0,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   16086             :      290,   291,     0,   292,   293,   294,   295,   296,   297,     0,
   16087             :      298,   299,   300,   301,     0,     0,     0,   302,     0,     0,
   16088             :        0,   303,   304,   305,   306,   307,   308,   885,   886,   311,
   16089             :        0,   312,     0,   313,   314,   315,   316,   317,   318,   319,
   16090             :        0,   320,   321,   322,   323,     0,     0,   324,   325,   887,
   16091             :      327,   328,     0,   329,   330,   331,   332,     0,   333,   334,
   16092             :      335,   336,   337,     0,   338,   339,   340,   341,     0,   343,
   16093             :      344,   345,   346,     0,     0,   348,     0,   349,   350,   351,
   16094             :      888,   353,  6047,   354,     0,   355,   356,   357,     0,   358,
   16095             :      359,   360,   361,   362,     0,   363,     0,     0,     0,   366,
   16096             :      367,     0,   368,   369,   370,   371,   372,   373,   374,   375,
   16097             :      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
   16098             :      385,     0,   386,   387,     0,   389,   390,   391,   392,   889,
   16099             :      890,     0,   891,     0,   396,   397,   398,   399,   400,   892,
   16100             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16101             :      412,   413,   414,   415,   416,   417,   418,     0,     0,   419,
   16102             :        0,   421,   422,   423,     0,   424,   425,   426,     0,     0,
   16103             :      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
   16104             :        0,   438,   439,   440,   441,   442,   443,   444,   445,   893,
   16105             :      447,   894,   449,   450,   451,   452,   453,   454,   455,   456,
   16106             :        0,     0,   459,     0,   460,   461,   462,   463,     0,     0,
   16107             :      465,   895,   467,   468,   469,   470,     0,   471,   472,   473,
   16108             :        0,     0,   474,   475,   476,     0,     0,   477,   478,     0,
   16109             :      480,   481,   482,     0,   484,   485,   486,   487,   488,   489,
   16110             :      490,   491,   492,   493,   494,   495,     0,   496,   497,   498,
   16111             :        0,   500,     0,   502,   503,   504,     0,   505,   506,   507,
   16112             :      508,   509,   510,   511,   512,   513,   514,   515,   896,   517,
   16113             :      518,   519,     0,   520,   521,   522,   523,   524,   525,   526,
   16114             :      527,   528,   529,   530,   531,   532,     0,   533,   534,   535,
   16115             :      536,   537,   538,   539,   540,     0,   542,   543,   544,   545,
   16116             :      546,   547,   548,   549,   550,   551,     0,   552,   553,   554,
   16117             :      555,   556,     0,   557,   558,   897,   560,   561,   562,   563,
   16118             :      564,   898,   566,     0,   567,   568,   569,   570,   571,   572,
   16119             :      573,   574,   575,   576,   577,   578,   579,   580,   581,     0,
   16120             :      583,     0,   584,   585,     0,     0,   586,   587,   588,   589,
   16121             :      590,   591,   592,   593,     0,   594,   899,   900,     0,     0,
   16122             :      597,   598,     0,   600,     0,     0,   602,   603,   604,   605,
   16123             :      606,   607,   608,   609,   610,     0,     0,   611,   612,   613,
   16124             :      614,   615,     0,     0,   616,   617,   618,   619,   620,     0,
   16125             :      901,     0,   623,   624,   625,   626,   627,   628,   629,     0,
   16126             :        0,   630,     0,     0,   631,   632,   633,   634,   635,   636,
   16127             :      879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16128             :        0,   648,   649,   650,     0,     0,     0,   235,   236,   237,
   16129             :      238,   239,   240,   241,   242,   243,     0,   244,   245,   246,
   16130             :        0,     0,     0,     0,     0,     0,     0,   247,   248,   249,
   16131             :        0,   250,   251,   252,   253,   254,   255,   256,   257,     0,
   16132             :      880,   260,   881,   882,     0,   263,   264,   265,   266,   267,
   16133             :      268,   269,     0,     0,   270,   271,   883,   884,   274,     0,
   16134             :      275,   276,   277,   278,     0,     0,   280,     0,   281,   282,
   16135             :      283,   284,   285,   286,   287,   288,   289,   290,   291,     0,
   16136             :      292,   293,   294,   295,   296,   297,     0,   298,   299,   300,
   16137             :      301,     0,     0,     0,   302,     0,     0,     0,   303,   304,
   16138             :      305,   306,   307,   308,   885,   886,   311,     0,   312,     0,
   16139             :      313,   314,   315,   316,   317,   318,   319,     0,   320,   321,
   16140             :      322,   323,     0,     0,   324,   325,   887,   327,   328,     0,
   16141             :      329,   330,   331,   332,     0,   333,   334,   335,   336,   337,
   16142             :        0,   338,   339,   340,   341,     0,   343,   344,   345,   346,
   16143             :        0,     0,   348,     0,   349,   350,   351,   888,   353,  6411,
   16144             :      354,     0,   355,   356,   357,     0,   358,   359,   360,   361,
   16145             :      362,     0,   363,     0,     0,     0,   366,   367,     0,   368,
   16146             :      369,   370,   371,   372,   373,   374,   375,   376,   377,     0,
   16147             :      378,   379,   380,   381,   382,   383,   384,   385,     0,   386,
   16148             :      387,     0,   389,   390,   391,   392,   889,   890,     0,   891,
   16149             :        0,   396,   397,   398,   399,   400,   892,     0,     0,     0,
   16150             :        0,     0,     0,     0,     0,     0,     0,   412,   413,   414,
   16151             :      415,   416,   417,   418,     0,     0,   419,     0,   421,   422,
   16152             :      423,     0,   424,   425,   426,     0,     0,   427,   428,   429,
   16153             :      430,   431,   432,   433,   434,   435,   436,     0,   438,   439,
   16154             :      440,   441,   442,   443,   444,   445,   893,   447,   894,   449,
   16155             :      450,   451,   452,   453,   454,   455,   456,     0,     0,   459,
   16156             :        0,   460,   461,   462,   463,     0,     0,   465,   895,   467,
   16157             :      468,   469,   470,     0,   471,   472,   473,     0,     0,   474,
   16158             :      475,   476,     0,     0,   477,   478,     0,   480,   481,   482,
   16159             :        0,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   16160             :      493,   494,   495,     0,   496,   497,   498,     0,   500,     0,
   16161             :      502,   503,   504,     0,   505,   506,   507,   508,   509,   510,
   16162             :      511,   512,   513,   514,   515,   896,   517,   518,   519,     0,
   16163             :      520,   521,   522,   523,   524,   525,   526,   527,   528,   529,
   16164             :      530,   531,   532,     0,   533,   534,   535,   536,   537,   538,
   16165             :      539,   540,     0,   542,   543,   544,   545,   546,   547,   548,
   16166             :      549,   550,   551,     0,   552,   553,   554,   555,   556,     0,
   16167             :      557,   558,   897,   560,   561,   562,   563,   564,   898,   566,
   16168             :        0,   567,   568,   569,   570,   571,   572,   573,   574,   575,
   16169             :      576,   577,   578,   579,   580,   581,     0,   583,     0,   584,
   16170             :      585,     0,     0,   586,   587,   588,   589,   590,   591,   592,
   16171             :      593,     0,   594,   899,   900,     0,     0,   597,   598,     0,
   16172             :      600,     0,     0,   602,   603,   604,   605,   606,   607,   608,
   16173             :      609,   610,     0,     0,   611,   612,   613,   614,   615,     0,
   16174             :        0,   616,   617,   618,   619,   620,     0,   901,     0,   623,
   16175             :      624,   625,   626,   627,   628,   629,     0,     0,   630,     0,
   16176             :        0,   631,   632,   633,   634,   635,   636,   879,     0,     0,
   16177             :        0,     0,     0,     0,     0,     0,     0,     0,   648,   649,
   16178             :      650,     0,     0,     0,   235,   236,   237,   238,   239,   240,
   16179             :      241,   242,   243,     0,   244,   245,   246,     0,     0,     0,
   16180             :        0,     0,     0,     0,   247,   248,   249,     0,   250,   251,
   16181             :      252,   253,   254,   255,   256,   257,     0,   880,   260,   881,
   16182             :      882,     0,   263,   264,   265,   266,   267,   268,   269,     0,
   16183             :        0,   270,   271,   883,   884,   274,     0,   275,   276,   277,
   16184             :      278,     0,     0,   280,     0,   281,   282,   283,   284,   285,
   16185             :      286,   287,   288,   289,   290,   291,     0,   292,   293,   294,
   16186             :      295,   296,   297,     0,   298,   299,   300,   301,     0,     0,
   16187             :        0,   302,     0,     0,     0,   303,   304,   305,   306,   307,
   16188             :      308,   885,   886,   311,     0,   312,     0,   313,   314,   315,
   16189             :      316,   317,   318,   319,     0,   320,   321,   322,   323,     0,
   16190             :        0,   324,   325,   887,   327,   328,     0,   329,   330,   331,
   16191             :      332,     0,   333,   334,   335,   336,   337,     0,   338,   339,
   16192             :      340,   341,     0,   343,   344,   345,   346,     0,     0,   348,
   16193             :        0,   349,   350,   351,   888,   353,     0,   354,     0,   355,
   16194             :      356,   357,     0,   358,   359,   360,   361,   362,     0,   363,
   16195             :        0,     0,     0,   366,   367,     0,   368,   369,   370,   371,
   16196             :      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
   16197             :      381,   382,   383,   384,   385,     0,   386,   387,     0,   389,
   16198             :      390,   391,   392,   889,   890,     0,   891,     0,   396,   397,
   16199             :      398,   399,   400,   892,     0,     0,     0,     0,     0,     0,
   16200             :        0,     0,     0,     0,   412,   413,   414,   415,   416,   417,
   16201             :      418,     0,     0,   419,     0,   421,   422,   423,     0,   424,
   16202             :      425,   426,     0,     0,   427,   428,   429,   430,   431,   432,
   16203             :      433,   434,   435,   436,     0,   438,   439,   440,   441,   442,
   16204             :      443,   444,   445,   893,   447,   894,   449,   450,   451,   452,
   16205             :      453,   454,   455,   456,     0,     0,   459,     0,   460,   461,
   16206             :      462,   463,     0,     0,   465,   895,   467,   468,   469,   470,
   16207             :        0,   471,   472,   473,     0,     0,   474,   475,   476,     0,
   16208             :        0,   477,   478,     0,   480,   481,   482,     0,   484,   485,
   16209             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   16210             :        0,   496,   497,   498,     0,   500,     0,   502,   503,   504,
   16211             :        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   16212             :      514,   515,   896,   517,   518,   519,     0,   520,   521,   522,
   16213             :      523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   16214             :        0,   533,   534,   535,   536,   537,   538,   539,   540,     0,
   16215             :      542,   543,   544,   545,   546,   547,   548,   549,   550,   551,
   16216             :        0,   552,   553,   554,   555,   556,     0,   557,   558,   897,
   16217             :      560,   561,   562,   563,   564,   898,   566,     0,   567,   568,
   16218             :      569,   570,   571,   572,   573,   574,   575,   576,   577,   578,
   16219             :      579,   580,   581,     0,   583,     0,   584,   585,     0,     0,
   16220             :      586,   587,   588,   589,   590,   591,   592,   593,     0,   594,
   16221             :      899,   900,     0,     0,   597,   598,     0,   600,     0,     0,
   16222             :      602,   603,   604,   605,   606,   607,   608,   609,   610,     0,
   16223             :        0,   611,   612,   613,   614,   615,     0,     0,   616,   617,
   16224             :      618,   619,   620,     0,   901,     0,   623,   624,   625,   626,
   16225             :      627,   628,   629,     0,     0,   630,     0,     0,   631,   632,
   16226             :      633,   634,   635,   636,   879,     0,     0,     0,     0,     0,
   16227             :        0,     0,     0,     0,     0,   648,   649,   650,     0,     0,
   16228             :        0,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   16229             :        0,   244,   245,   246,     0,     0,     0,     0,     0,     0,
   16230             :        0,   247,   248,   249,     0,   250,   251,   252,   253,   254,
   16231             :      255,   256,   257,     0,   880,   260,   881,   882,     0,   263,
   16232             :      264,   265,   266,   267,   268,   269,     0,     0,   270,   271,
   16233             :      883,   884,   274,     0,   275,   276,   277,   278,     0,     0,
   16234             :      280,     0,   281,   282,   283,   284,   285,   286,   287,   288,
   16235             :      289,   290,   291,     0,   292,   293,   294,   295,   296,   297,
   16236             :        0,   298,   299,   300,   301,     0,     0,     0,   302,     0,
   16237             :        0,     0,   303,   304,   305,   306,   307,   308,   885,   886,
   16238             :      311,     0,   312,     0,   313,   314,   315,   316,   317,   318,
   16239             :      319,     0,   320,   321,   322,   323,     0,     0,   324,   325,
   16240             :      887,   327,   328,     0,   329,   330,   331,   332,     0,   333,
   16241             :      334,   335,   336,   337,     0,   338,   339,   340,   341,     0,
   16242             :      343,   344,   345,   346,     0,     0,   348,     0,   349,   350,
   16243             :      351,   888,   353,     0,   354,     0,   355,   356,   357,     0,
   16244             :      358,   359,   360,   361,   362,     0,   363,     0,     0,     0,
   16245             :      366,   367,     0,   368,   369,   370,   371,  1155,   373,   374,
   16246             :      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
   16247             :      384,   385,     0,   386,   387,     0,   389,   390,   391,   392,
   16248             :      889,   890,     0,   891,     0,   396,   397,   398,   399,   400,
   16249             :      892,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16250             :        0,   412,   413,   414,   415,   416,   417,   418,     0,     0,
   16251             :      419,     0,   421,   422,   423,     0,   424,   425,   426,     0,
   16252             :        0,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   16253             :      436,     0,   438,   439,   440,   441,   442,   443,   444,   445,
   16254             :      893,   447,   894,   449,   450,   451,   452,   453,   454,   455,
   16255             :      456,     0,     0,   459,     0,   460,   461,   462,   463,     0,
   16256             :        0,   465,   895,   467,   468,   469,   470,     0,   471,   472,
   16257             :      473,     0,     0,   474,   475,   476,     0,     0,   477,   478,
   16258             :        0,   480,   481,   482,     0,   484,   485,   486,   487,   488,
   16259             :      489,   490,   491,   492,   493,   494,   495,     0,   496,   497,
   16260             :      498,     0,   500,     0,   502,   503,   504,     0,   505,   506,
   16261             :      507,   508,   509,   510,   511,   512,   513,   514,   515,   896,
   16262             :      517,   518,   519,     0,   520,   521,   522,   523,   524,   525,
   16263             :      526,   527,   528,   529,   530,   531,   532,     0,   533,   534,
   16264             :      535,   536,   537,   538,   539,   540,     0,   542,   543,   544,
   16265             :      545,   546,   547,   548,   549,   550,   551,     0,   552,   553,
   16266             :      554,   555,   556,     0,   557,   558,   897,   560,   561,   562,
   16267             :      563,   564,   898,   566,     0,   567,   568,   569,   570,   571,
   16268             :      572,   573,   574,   575,   576,   577,   578,   579,   580,   581,
   16269             :        0,   583,     0,   584,   585,     0,     0,   586,   587,   588,
   16270             :      589,   590,   591,   592,   593,     0,   594,   899,   900,     0,
   16271             :        0,   597,   598,     0,   600,     0,     0,   602,   603,   604,
   16272             :      605,   606,   607,   608,   609,   610,     0,     0,   611,   612,
   16273             :      613,   614,   615,     0,     0,   616,   617,   618,   619,   620,
   16274             :        0,   901,     0,   623,   624,   625,   626,   627,   628,   629,
   16275             :        0,     0,   630,     0,     0,   631,   632,   633,   634,   635,
   16276             :      636,   879,     0,     0,     0,     0,     0,     0,     0,     0,
   16277             :        0,     0,   648,   649,   650,     0,     0,     0,   235,   236,
   16278             :      237,   238,   239,   240,   241,   242,   243,     0,   244,   245,
   16279             :      246,     0,     0,     0,     0,     0,     0,     0,   247,   248,
   16280             :      249,     0,   250,   251,   252,   253,   254,   255,   256,   257,
   16281             :        0,   880,   260,   881,   882,     0,   263,   264,   265,   266,
   16282             :      267,   268,   269,     0,     0,   270,   271,   883,   884,   274,
   16283             :        0,   275,   276,   277,   278,     0,     0,   280,     0,   281,
   16284             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   16285             :        0,   292,   293,   294,   295,   296,   297,     0,   298,   299,
   16286             :      300,   301,     0,     0,     0,   302,     0,     0,     0,   303,
   16287             :      304,   305,   306,   307,   308,   885,   886,   311,     0,   312,
   16288             :        0,   313,   314,   315,   316,   317,   318,   319,     0,   320,
   16289             :      321,   322,   323,     0,     0,   324,   325,   887,   327,   328,
   16290             :        0,   329,   330,   331,   332,     0,   333,   334,   335,   336,
   16291             :      337,     0,   338,   339,   340,   341,     0,   343,   344,   345,
   16292             :      346,     0,     0,   348,     0,   349,   350,   351,   888,   353,
   16293             :        0,   354,     0,   355,   356,   357,     0,   358,   359,   360,
   16294             :      361,   362,     0,   363,     0,     0,     0,   366,   367,     0,
   16295             :      368,   369,   370,   371,  1187,   373,   374,   375,   376,   377,
   16296             :        0,   378,   379,   380,   381,   382,   383,   384,   385,     0,
   16297             :      386,   387,     0,   389,   390,   391,   392,   889,   890,     0,
   16298             :      891,     0,   396,   397,   398,   399,   400,   892,     0,     0,
   16299             :        0,     0,     0,     0,     0,     0,     0,     0,   412,   413,
   16300             :      414,   415,   416,   417,   418,     0,     0,   419,     0,   421,
   16301             :      422,   423,     0,   424,   425,   426,     0,     0,   427,   428,
   16302             :      429,   430,   431,   432,   433,   434,   435,   436,     0,   438,
   16303             :      439,   440,   441,   442,   443,   444,   445,   893,   447,   894,
   16304             :      449,   450,   451,   452,   453,   454,   455,   456,     0,     0,
   16305             :      459,     0,   460,   461,   462,   463,     0,     0,   465,   895,
   16306             :      467,   468,   469,   470,     0,   471,   472,   473,     0,     0,
   16307             :      474,   475,   476,     0,     0,   477,   478,     0,   480,   481,
   16308             :      482,     0,   484,   485,   486,   487,   488,   489,   490,   491,
   16309             :      492,   493,   494,   495,     0,   496,   497,   498,     0,   500,
   16310             :        0,   502,   503,   504,     0,   505,   506,   507,   508,   509,
   16311             :      510,   511,   512,   513,   514,   515,   896,   517,   518,   519,
   16312             :        0,   520,   521,   522,   523,   524,   525,   526,   527,   528,
   16313             :      529,   530,   531,   532,     0,   533,   534,   535,   536,   537,
   16314             :      538,   539,   540,     0,   542,   543,   544,   545,   546,   547,
   16315             :      548,   549,   550,   551,     0,   552,   553,   554,   555,   556,
   16316             :        0,   557,   558,   897,   560,   561,   562,   563,   564,   898,
   16317             :      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
   16318             :      575,   576,   577,   578,   579,   580,   581,     0,   583,     0,
   16319             :      584,   585,     0,     0,   586,   587,   588,   589,   590,   591,
   16320             :      592,   593,     0,   594,   899,   900,     0,     0,   597,   598,
   16321             :        0,   600,     0,     0,   602,   603,   604,   605,   606,   607,
   16322             :      608,   609,   610,     0,     0,   611,   612,   613,   614,   615,
   16323             :        0,     0,   616,   617,   618,   619,   620,     0,   901,     0,
   16324             :      623,   624,   625,   626,   627,   628,   629,     0,     0,   630,
   16325             :        0,     0,   631,   632,   633,   634,   635,   636,   879,     0,
   16326             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   648,
   16327             :      649,   650,     0,     0,     0,   235,   236,   237,   238,   239,
   16328             :      240,   241,   242,   243,     0,   244,   245,   246,     0,     0,
   16329             :        0,     0,     0,     0,     0,   247,   248,   249,     0,   250,
   16330             :      251,   252,   253,   254,   255,   256,   257,     0,   880,   260,
   16331             :      881,   882,     0,   263,   264,   265,   266,   267,   268,   269,
   16332             :        0,     0,   270,   271,   883,   884,   274,     0,   275,   276,
   16333             :      277,   278,     0,     0,   280,     0,   281,   282,   283,   284,
   16334             :      285,   286,   287,   288,   289,   290,   291,     0,   292,   293,
   16335             :      294,   295,   296,   297,     0,   298,   299,   300,   301,     0,
   16336             :        0,     0,   302,     0,     0,     0,   303,   304,   305,   306,
   16337             :      307,   308,   885,   886,   311,     0,   312,     0,   313,   314,
   16338             :      315,   316,   317,   318,   319,     0,   320,   321,   322,   323,
   16339             :        0,     0,   324,   325,   887,   327,   328,     0,   329,   330,
   16340             :      331,   332,     0,   333,   334,   335,   336,   337,     0,   338,
   16341             :      339,   340,   341,     0,   343,   344,   345,   346,     0,     0,
   16342             :      348,     0,   349,   350,   351,   888,   353,     0,   354,     0,
   16343             :      355,   356,   357,     0,   358,   359,   360,   361,   362,     0,
   16344             :      363,     0,     0,     0,   366,   367,     0,   368,   369,   370,
   16345             :      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
   16346             :      380,   381,   382,   383,   384,   385,     0,   386,   387,     0,
   16347             :      389,   390,   391,   392,   889,   890,     0,   891,     0,   396,
   16348             :      397,   398,   399,   400,   892,     0,     0,     0,     0,     0,
   16349             :        0,     0,     0,     0,     0,   412,   413,   414,   415,   416,
   16350             :      417,   418,     0,     0,   419,     0,   421,   422,   423,     0,
   16351             :      424,   425,   426,     0,     0,   427,   428,   429,   430,   431,
   16352             :      432,   433,   434,   435,   436,     0,   438,   439,   440,   441,
   16353             :      442,   443,   444,   445,   893,   447,   894,   449,   450,   451,
   16354             :      452,   453,   454,   455,   456,     0,     0,   459,     0,   460,
   16355             :      461,   462,   463,     0,     0,   465,   895,   467,   468,   469,
   16356             :      470,     0,   471,   472,   473,     0,     0,   474,   475,   476,
   16357             :        0,     0,   477,   478,     0,   480,   481,   482,     0,   484,
   16358             :      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
   16359             :      495,     0,   496,   497,   498,     0,   500,     0,   502,   503,
   16360             :      504,     0,   505,   506,   507,   508,   509,   510,   511,   512,
   16361             :      513,   514,   515,   896,   517,   518,   519,     0,   520,   521,
   16362             :      522,   523,   524,   525,   526,   527,   528,   529,   530,   531,
   16363             :      532,     0,   533,   534,   535,   536,   537,   538,   539,   540,
   16364             :        0,   542,   543,   544,   545,   546,   547,   548,   549,   550,
   16365             :      551,     0,   552,   553,   554,   555,   556,     0,   557,   558,
   16366             :     2735,   560,   561,   562,   563,   564,   898,   566,     0,   567,
   16367             :      568,   569,   570,   571,   572,   573,   574,   575,   576,   577,
   16368             :      578,   579,   580,   581,     0,   583,     0,   584,   585,     0,
   16369             :        0,   586,   587,   588,   589,   590,   591,   592,   593,     0,
   16370             :      594,   899,   900,     0,     0,   597,   598,     0,   600,     0,
   16371             :        0,   602,   603,   604,   605,   606,   607,   608,   609,   610,
   16372             :        0,     0,   611,   612,   613,   614,   615,     0,     0,   616,
   16373             :      617,   618,   619,   620,     0,   901,     0,   623,   624,   625,
   16374             :      626,   627,   628,   629,     0,     0,   630,     0,     0,   631,
   16375             :      632,   633,   634,   635,   636,   879,     0,     0,     0,     0,
   16376             :        0,     0,     0,     0,     0,     0,   648,   649,   650,     0,
   16377             :        0,     0,   235,   236,   237,   238,   239,   240,   241,   242,
   16378             :      243,     0,   244,   245,   246,     0,     0,     0,     0,     0,
   16379             :        0,     0,   247,   248,   249,     0,   250,   251,   252,   253,
   16380             :      254,   255,   256,   257,     0,   880,   260,   881,   882,     0,
   16381             :      263,   264,   265,   266,   267,   268,   269,     0,     0,   270,
   16382             :      271,   883,   884,   274,     0,   275,   276,   277,   278,     0,
   16383             :        0,   280,     0,   281,   282,   283,   284,   285,   286,   287,
   16384             :      288,   289,   290,   291,     0,   292,   293,   294,   295,   296,
   16385             :      297,     0,   298,   299,   300,   301,     0,     0,     0,   302,
   16386             :        0,     0,     0,   303,   304,   305,   306,   307,   308,   885,
   16387             :      886,   311,     0,   312,     0,   313,   314,   315,   316,   317,
   16388             :      318,   319,     0,   320,   321,   322,   323,     0,     0,   324,
   16389             :      325,   887,   327,   328,     0,   329,   330,   331,   332,     0,
   16390             :      333,   334,   335,   336,   337,     0,   338,   339,   340,   341,
   16391             :        0,   343,   344,   345,   346,     0,     0,   348,     0,   349,
   16392             :      350,   351,   888,   353,     0,   354,     0,   355,   356,   357,
   16393             :        0,   358,   359,   360,   361,   362,     0,   363,     0,     0,
   16394             :        0,   366,   367,     0,   368,   369,   370,   371,   372,   373,
   16395             :      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
   16396             :      383,   384,   385,     0,   386,   387,     0,   389,   390,   391,
   16397             :      392,   889,   890,     0,   891,     0,   396,   397,   398,   399,
   16398             :      400,   892,     0,     0,     0,     0,     0,     0,     0,     0,
   16399             :        0,     0,   412,   413,   414,   415,   416,   417,   418,     0,
   16400             :        0,   419,     0,   421,   422,   423,     0,   424,   425,   426,
   16401             :        0,     0,   427,   428,   429,   430,   431,   432,   433,   434,
   16402             :      435,   436,     0,   438,   439,   440,   441,   442,   443,   444,
   16403             :      445,   893,   447,   894,   449,   450,   451,   452,   453,   454,
   16404             :      455,   456,     0,     0,   459,     0,   460,   461,   462,   463,
   16405             :        0,     0,   465,   895,   467,   468,   469,   470,     0,   471,
   16406             :      472,   473,     0,     0,   474,   475,   476,     0,     0,   477,
   16407             :      478,     0,   480,   481,   482,     0,   484,   485,   486,   487,
   16408             :      488,   489,   490,   491,   492,   493,   494,   495,     0,   496,
   16409             :      497,   498,     0,   500,     0,   502,   503,   504,     0,   505,
   16410             :      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
   16411             :      896,   517,   518,   519,     0,   520,   521,   522,   523,   524,
   16412             :      525,   526,   527,   528,   529,   530,   531,   532,     0,   533,
   16413             :      534,   535,   536,   537,   538,   539,   540,     0,   542,   543,
   16414             :      544,   545,   546,   547,   548,   549,   550,   551,     0,   552,
   16415             :      553,   554,   555,   556,     0,   557,   558,     0,   560,   561,
   16416             :      562,   563,   564,   898,   566,     0,   567,   568,   569,   570,
   16417             :      571,   572,   573,   574,   575,   576,   577,   578,   579,   580,
   16418             :      581,     0,   583,     0,   584,   585,     0,     0,   586,   587,
   16419             :      588,   589,   590,   591,   592,   593,     0,   594,   899,   900,
   16420             :        0,     0,   597,   598,     0,   600,     0,     0,   602,   603,
   16421             :      604,   605,   606,   607,   608,   609,   610,     0,     0,   611,
   16422             :      612,   613,   614,   615,     0,     0,   616,   617,   618,   619,
   16423             :      620,     0,   901,     0,   623,   624,   625,   626,   627,   628,
   16424             :      629,     0,     0,   630,     0,     0,   631,   632,   633,   634,
   16425             :      635,   636,   879,     0,     0,     0,     0,     0,     0,     0,
   16426             :        0,     0,     0,   648,   649,   650,     0,     0,     0,   235,
   16427             :      236,   237,   238,   239,   240,   241,   242,   243,     0,   244,
   16428             :      245,   246,     0,     0,     0,     0,     0,     0,     0,   247,
   16429             :      248,   249,     0,   250,   251,   252,   253,   254,   255,   256,
   16430             :      257,     0,     0,   260,     0,     0,     0,   263,   264,   265,
   16431             :      266,   267,   268,   269,     0,     0,   270,   271,     0,     0,
   16432             :      274,     0,   275,   276,   277,   278,     0,     0,   280,     0,
   16433             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   16434             :      291,     0,   292,   293,   294,   295,   296,   297,     0,   298,
   16435             :      299,   300,   301,     0,     0,     0,   302,     0,     0,     0,
   16436             :      303,   304,   305,   306,   307,   308,     0,     0,   311,     0,
   16437             :      312,     0,   313,   314,   315,   316,   317,   318,   319,     0,
   16438             :      320,   321,   322,   323,     0,     0,   324,   325,   326,   327,
   16439             :      328,     0,   329,   330,   331,   332,     0,   333,   334,   335,
   16440             :      336,   337,     0,   338,   339,   340,   341,     0,   343,   344,
   16441             :      345,   346,     0,     0,   348,     0,   349,   350,   351,     0,
   16442             :      353,     0,   354,     0,   355,   356,   357,     0,   358,   359,
   16443             :      360,   361,   362,     0,   363,     0,     0,     0,   366,   367,
   16444             :        0,   368,   369,   370,   371,   372,   373,   374,   375,   376,
   16445             :      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
   16446             :        0,   386,   387,     0,   389,   390,   391,   392,     0,     0,
   16447             :        0,     0,     0,   396,   397,   398,   399,   400,     0,     0,
   16448             :        0,     0,     0,     0,     0,     0,     0,     0,     0,   412,
   16449             :      413,   414,   415,   416,   417,   418,     0,     0,   419,     0,
   16450             :      421,   422,   423,     0,   424,   425,   426,     0,     0,   427,
   16451             :      428,   429,   430,   431,   432,   433,   434,   435,   436,     0,
   16452             :      438,   439,   440,   441,   442,   443,   444,   445,     0,   447,
   16453             :        0,   449,   450,   451,   452,   453,   454,   455,   456,     0,
   16454             :        0,   459,     0,   460,   461,   462,   463,     0,     0,   465,
   16455             :        0,   467,   468,   469,   470,     0,   471,   472,   473,     0,
   16456             :        0,   474,   475,   476,     0,     0,   477,   478,     0,   480,
   16457             :      481,   482,     0,   484,   485,   486,   487,   488,   489,   490,
   16458             :      491,   492,   493,   494,   495,     0,   496,   497,   498,     0,
   16459             :      500,     0,   502,   503,   504,     0,   505,   506,   507,   508,
   16460             :      509,   510,   511,   512,   513,   514,   515,     0,   517,   518,
   16461             :      519,     0,   520,   521,   522,   523,   524,   525,   526,   527,
   16462             :      528,   529,   530,   531,   532,     0,   533,   534,   535,   536,
   16463             :      537,   538,   539,   540,     0,   542,   543,   544,   545,   546,
   16464             :      547,   548,   549,   550,   551,     0,   552,   553,   554,   555,
   16465             :      556,     0,   557,   558,     0,   560,   561,   562,   563,   564,
   16466             :        0,   566,     0,   567,   568,   569,   570,   571,   572,   573,
   16467             :      574,   575,   576,   577,   578,   579,   580,   581,     0,   583,
   16468             :        0,   584,   585,     0,     0,   586,   587,   588,   589,   590,
   16469             :      591,   592,   593,     0,   594,     0,     0,     0,     0,   597,
   16470             :      598,     0,   600,     0,     0,   602,   603,   604,   605,   606,
   16471             :      607,   608,   609,   610,     0,     0,   611,   612,   613,   614,
   16472             :      615,     0,     0,   616,   617,   618,   619,   620,     0,     0,
   16473             :        0,   623,   624,   625,   626,   627,   628,   629,     0,     0,
   16474             :      630,     0,     0,   631,   632,   633,   634,   635,   636,     0,
   16475             :        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
   16476             :      648,   649,   650
   16477             : };
   16478             : 
   16479             : static const yytype_int16 yycheck[] =
   16480             : {
   16481             :        6,     0,   211,   665,     0,     0,     0,     0,     0,  1041,
   16482             :       56,     0,   211,     0,   206,     0,     0,    23,   942,    25,
   16483             :        0,     0,   214,    29,    36,   217,    21,     0,    34,    35,
   16484             :       36,     0,    38,     0,  1050,    41,    42,  1013,    44,   843,
   16485             :       46,  1167,    21,   686,   840,   189,  1662,    53,    54,    55,
   16486             :     1579,   897,  1595,  2844,    45,  1030,   718,  1014,    22,  1579,
   16487             :        0,     0,   718,  1045,    28,   867,   799,   800,   801,     0,
   16488             :      759,  1228,   805,   936,   916,   938,  2717,  1572,  1039,  1275,
   16489             :     2718,  1584,     0,  2044,   197,   885,   886,    44,   873,  1262,
   16490             :     1505,   850,  3247,  1116,  3137,   895,  3428,   216,  3430,   900,
   16491             :      833,  3197,  3523,   765,  1902,   763,  1247,  3728,  3099,  3072,
   16492             :     1251,   230,   954,  1254,  1255,  1090,  3926,  3953,  2033,  1094,
   16493             :     2085,  1730,  3084,  2071,  1099,  3942,    23,  3611,  2052,   866,
   16494             :        8,  3975,  4275,   741,  1109,  2070,  3674,    15,  3676,    36,
   16495             :     1625,  1626,  2990,  3878,  1629,   667,  3481,   755,  1123,  4359,
   16496             :     3533,  4835,  4297,  4318,  1697,  1698,   818,  1572,  3646,  2109,
   16497             :     3648,   191,  1562,  1462,  2968,   191,   175,  1043,  1915,  2066,
   16498             :     2067,  2068,  2069,     2,  5232,  2072,  1974,  2074,  2075,  1154,
   16499             :     4606,   980,   764,  4611,   846,  4623,   739,   979,  1691,   742,
   16500             :      846,   197,   198,   199,  5160,  4568,   202,   754,  5366,  5152,
   16501             :      206,  5324,   208,    35,  4737,   211,  4739,  5460,   214,   871,
   16502             :       42,   217,  1004,  3497,   220,  1718,   222,  1009,  1105,   225,
   16503             :     2739,  2740,  1622,   229,  3475,   231,  4406,  1013,   965,  4600,
   16504             :     4851,  2597,  4853,  5103,  1121,  2601,  1022,  4610,    50,  1639,
   16505             :     2634,  2702,  5496,  3543,  3382,  2704,  1032,  5357,  3290,    41,
   16506             :     5508,  1050,  3387,  3940,  3037,  5147,  3039,  3040,  4927,   939,
   16507             :     5457,  3044,  3045,  3046,     0,  3048,  3049,  3050,   225,  5766,
   16508             :      939,   933,   963,    11,     0,  1545,  3080,     0,     6,     6,
   16509             :     3531,  5151,    21,     0,  5750,    38,  4459,  2681,    15,    16,
   16510             :     4775,     6,  2039,    54,  5422,  5423,    37,    63,     6,     6,
   16511             :       15,    16,    37,    63,    63,  5415,     6,    63,  3480,     6,
   16512             :     3482,  3483,    37,  1004,     6,    15,    16,  1054,  1009,     0,
   16513             :       25,     6,    21,    32,    13,    43,    95,     6,    47,   120,
   16514             :       11,    37,     0,     6,     6,    29,    37,    35,   149,   172,
   16515             :        6,   120,   120,    11,   178,    47,     6,    88,    29,    13,
   16516             :      178,  1084,     6,    63,     6,   883,   884,     6,   178,   157,
   16517             :        6,    29,   178,    85,  1525,   153,   894,     6,   195,    80,
   16518             :      164,     6,    63,    47,     5,   120,  3613,    11,   179,    37,
   16519             :       11,    45,     0,     3,    51,     5,     6,   190,  1050,  1156,
   16520             :       15,    11,   179,  5447,  6027,  1162,  1881,   178,   122,  6064,
   16521             :      179,   178,    13,    21,     5,  1172,    13,    68,     6,  1176,
   16522             :       11,    43,   178,  1180,    78,  1182,  5649,  1202,  4701,  4702,
   16523             :     4703,  1188,  4705,  4706,  4707,  4708,  4709,  1194,   316,   331,
   16524             :     1197,   125,   180,   221,    45,   140,  1418,   158,    56,   353,
   16525             :      257,   310,   178,    32,  4624,  1406,  6020,   180,  1106,   135,
   16526             :      345,  1474,   178,    63,   348,   178,   403,    63,   345,   669,
   16527             :      120,   178,   361,   404,  6151,   376,   202,    78,    11,    35,
   16528             :      448,   360,   385,   166,    25,   272,   202,   206,   325,   202,
   16529             :      122,    39,  5979,  5375,  1466,   202,   120,   686,   240,   424,
   16530             :       78,   120,    29,  1293,  1294,    63,   289,   178,   448,   385,
   16531             :      120,    13,   153,   227,  5970,   495,    92,   450,   433,    32,
   16532             :      178,   372,   267,  1623,  5768,   294,   283,  6466,   178,   313,
   16533             :       80,   202,   535,   217,   440,  1325,   442,   540,   316,   330,
   16534             :     1640,  6480,    92,   178,   202,  1336,    59,   736,   293,     6,
   16535             :      178,   308,   403,   172,  5497,   356,   324,   472,   293,   435,
   16536             :      540,   761,   487,   496,  5664,   450,   403,   309,   471,   298,
   16537             :      289,   254,   540,   450,   312,   684,  1174,   302,  4939,   293,
   16538             :     1355,   690,   130,   191,    29,   368,    80,    29,   489,   478,
   16539             :       29,    36,  6269,   702,    36,   227,  1462,    36,    92,   140,
   16540             :      540,   157,  1574,   540,    80,   536,   485,   394,   135,   298,
   16541             :       80,   496,   222,   254,   373,  1404,  1268,   293,   409,   496,
   16542             :     1409,  1410,  1268,   334,   374,   374,   178,   350,   374,  1356,
   16543             :       29,    92,   536,    80,   390,   835,  1208,  1235,   289,   446,
   16544             :       80,   185,   448,   357,   536,    92,    80,   257,  1246,    80,
   16545             :       13,   185,   536,  6140,   302,   390,   244,  6312,  1433,  1386,
   16546             :     3887,   293,   540,   185,   389,  1263,  5889,  6290,  5712,    23,
   16547             :      666,   455,   371,  1463,   374,   534,   672,   448,   674,   538,
   16548             :      676,  4406,    45,   679,   477,   423,   385,   465,   387,   127,
   16549             :      686,  1656,   125,   374,  1659,   691,   671,   693,   412,  5886,
   16550             :     5311,   489,   671,   699,   473,   334,  1728,  1729,   403,  4434,
   16551             :      142,   479,   396,   536,  1865,    78,   540,  6394,   375,   536,
   16552             :      526,  1668,   540,   431,  1499,   357,   536,   723,   484,   765,
   16553             :       10,   462,   538,    13,  5978,   536,   732,    17,    18,    19,
   16554             :      736,   671,   671,   739,  4879,   526,   742,   448,  1427,  1401,
   16555             :      671,   463,  1629,   478,   453,  1401,   448,  1409,  1410,   536,
   16556             :      448,  1550,   758,   671,  1282,  1283,   497,  6254,   536,   478,
   16557             :      769,  1560,  1548,   540,   374,  1726,   471,  4940,   374,  4579,
   16558             :       25,   540,   497,  5258,   482,   536,   478,   471,  4951,  2049,
   16559             :      540,   540,   371,   536,   540,   764,  6252,  5915,   448,   517,
   16560             :      518,   497,  1320,   514,  1681,  1682,   497,   535,   942,   431,
   16561             :     1646,   540,  4619,   539,   478,   811,   374,  5760,   536,   536,
   16562             :     4620,  1735,  1492,   539,   820,   779,   539,   781,  1610,   783,
   16563             :     4441,   536,   539,  1492,  1610,   789,  4447,   534,   536,   536,
   16564             :      540,   538,   517,   518,   840,   841,   536,   843,   844,   536,
   16565             :     6337,   540,   848,   532,   536,  2002,   527,   528,  1647,   540,
   16566             :     1976,   536,  1651,  1652,   811,  1064,   862,   536,   539,   527,
   16567             :      528,   867,   448,   536,   536,  1064,   526,   873,   532,  1061,
   16568             :      536,   539,  5764,  1065,  4362,  1067,  4364,  6131,   538,  1570,
   16569             :     6077,  6078,   536,  2009,   536,   140,  6144,   536,  6385,  4624,
   16570             :      536,   536,   493,   527,   528,  2021,   527,   528,   540,   263,
   16571             :      930,   526,   540,  4238,   930,  6479,  6159,   527,   528,   534,
   16572             :      867,  1439,  1440,   538,   920,   793,   517,  6491,   529,   530,
   16573             :      531,   532,   529,   530,   531,   532,   527,   528,   934,   338,
   16574             :      540,  5214,  1623,   932,   540,   225,   932,   932,   932,   932,
   16575             :      932,   947,  1055,   932,   448,   932,   534,   932,   932,  1640,
   16576             :      538,  3913,   932,   932,   421,   422,   962,   956,   413,   932,
   16577             :     6070,   413,   448,   932,   413,   932,  3770,  3771,   448,  4104,
   16578             :     4105,  3775,   540,  5642,  1617,   981,  4114,   934,   540,  6089,
   16579             :      986,   987,   453,  4670,   527,   528,   540,  1863,     3,   398,
   16580             :      947,   448,   932,   932,    52,  1882,   540,    72,   448,  4250,
   16581             :       23,   932,  6256,  4254,   448,   962,     3,   448,   540,     6,
   16582             :     4310,  5977,  1018,  1019,   932,   527,   528,   529,   530,   531,
   16583             :      532,  5974,   312,  1545,   122,   473,   390,  3546,   471,  3548,
   16584             :        6,   440,    76,   442,   156,  1041,  1042,    89,  2070,   156,
   16585             :     4528,  3502,    89,  4527,  3503,  4087,  1845,   489,  3442,  1055,
   16586             :      148,  1057,   844,   671,  4189,  1061,   848,    23,  1064,  1065,
   16587             :      202,  1067,   874,  6151,   125,  4237,  1072,  4239,  4240,  2051,
   16588             :       63,   326,   207,  3856,   438,   136,    91,   113,   185,   154,
   16589             :      132,     6,  6336,   223,   125,   132,     6,  5957,   187,   113,
   16590             :     1096,   125,  6260,  6261,   310,   313,   113,  1103,  1104,   174,
   16591             :      172,   103,    25,  5973,   385,   469,  3910,    33,    34,  5480,
   16592             :      331,  6169,   113,   368,  5487,  6225,   124,    89,   115,  1125,
   16593             :     1126,  1127,   294,  1129,  2106,  1131,  2675,  1133,  1134,    10,
   16594             :      145,   495,    13,   156,   169,    21,    17,    18,    19,   197,
   16595             :      289,   178,    21,   311,   202,   297,   764,   765,   403,     6,
   16596             :     4434,   125,  5362,    23,   527,   528,   529,   530,   531,   532,
   16597             :      132,  1167,   390,  1169,  1170,   202,  1828,   368,  3534,   178,
   16598             :     4591,  4655,   536,    99,  6427,  6141,   217,   190,  1911,  6132,
   16599             :       25,  6269,  1949,   217,     6,   187,  1018,  1019,    23,    23,
   16600             :     1957,  6409,  6315,   119,   526,   253,  1202,   194,   368,   266,
   16601             :       48,   372,   283,   174,   115,  5701,   538,  5703,   113,  5389,
   16602             :        3,  5707,  5708,   310,  2018,  2019,   224,   140,   293,  6387,
   16603             :     5841,   476,  1228,    71,  1230,   304,   293,   308,  1234,  1208,
   16604             :     1236,   157,   403,   403,   524,   525,   526,   527,   528,   529,
   16605             :      530,   531,   532,   217,    72,   260,  6464,   448,    30,   284,
   16606             :     1626,   316,   331,  1629,  1260,   536,  1262,  2133,   410,    23,
   16607             :     1266,    10,   172,   307,    13,  2050,    63,  2052,    17,    18,
   16608             :       19,   346,   289,  2058,  1280,   272,   289,   329,   275,  2064,
   16609             :     2065,   380,   329,   194,   406,    10,    35,   289,    13,   406,
   16610             :     1979,  2076,    17,    18,    19,   140,  6262,   263,    91,   471,
   16611             :      435,  2086,  2805,   114,  5732,  5838,  6394,  2092,   536,  1355,
   16612             :     1139,   326,   930,  5149,   932,   536,  1322,  2837,   536,  2008,
   16613             :      536,   202,   298,  2012,  2739,  5142,  5136,  6450,  2017,  5173,
   16614             :      498,  2020,  5758,  1211,  5762,  1213,  3083,  1215,  1946,  1217,
   16615             :     5778,  1219,  1220,  1221,   225,  1351,  1352,  1353,  1226,  1355,
   16616             :      408,  6409,  1960,   146,   125,  3320,  3321,   329,  5731,  3878,
   16617             :     3325,   272,   385,   512,   275,  1973,  2103,   311,  4359,  6335,
   16618             :     1376,  3306,    23,   298,  2673,   197,  5747,   475,   298,   189,
   16619             :     6346,   374,  1939,   406,   206,  5756,   493,  2890,  5761,   441,
   16620             :     1943,   466,   214,   263,   441,   217,   207,   394,   540,   435,
   16621             :      540,  3366,  3367,   326,  1986,  1958,  6464,  4895,  1961,  1415,
   16622             :      471,   435,   298,  1422,  1971,   456,   209,  3026,  1617,   298,
   16623             :     6386,   493,   396,   438,   390,  2825,   441,  1433,   263,   263,
   16624             :      471,   312,  4920,   540,   435,  5806,   218,   471,   364,   448,
   16625             :     2083,   298,   300,   445,  6365,   368,   217,  1477,  1478,  3968,
   16626             :     1480,  1477,  1478,   120,  1480,  6421,   493,   536,  2011,   390,
   16627             :      370,   403,  2015,  2016,   477,   293,   326,   316,    23,   441,
   16628             :      396,  5636,   438,  1479,    38,   540,   225,  1483,  1484,   380,
   16629             :      403,   326,    92,   394,  3434,  5630,    37,  6453,  1494,  1495,
   16630             :     1496,  1497,   289,  1499,  4877,   400,    60,   471,   269,   263,
   16631             :     3116,  4836,  6186,   469,  6000,  1881,   172,   115,   368,   435,
   16632             :      120,    40,    58,    72,   511,   171,  1522,  6438,   184,    27,
   16633             :      390,    28,   324,   368,     6,    54,   289,  2049,   190,   495,
   16634             :      368,   403,    42,    92,   133,     5,   202,  1494,    25,  1496,
   16635             :      333,    11,    50,   403,    31,   144,   356,   403,   112,   493,
   16636             :     3099,  1557,   100,   479,   241,   390,  1562,   483,   403,  1565,
   16637             :      180,   311,  5100,   312,   325,   403,  2598,   493,   438,   120,
   16638             :      536,   472,  1578,  1579,    87,   473,   386,   374,    94,   390,
   16639             :      125,  1587,   111,   129,  1590,    92,   194,   312,  5959,  4840,
   16640             :     1208,   517,   536,  4636,  4845,   140,   435,  4848,   540,   469,
   16641             :      511,  4592,   289,   438,   438,   536,   403,   124,    72,   311,
   16642             :      536,  1617,   263,  1619,   311,   473,  1622,   120,  2600,  1625,
   16643             :     1626,   137,   433,  1629,   435,   495,   390,   289,   194,  6137,
   16644             :     6138,   179,  1631,  1639,   469,   469,  1642,  1636,   536,  1645,
   16645             :     3135,   205,   403,   524,   525,   526,   527,   528,   529,   530,
   16646             :      531,   532,   314,   140,  5389,   168,   120,   324,  1276,  5869,
   16647             :      495,   495,  5498,  1669,   272,   213,   536,   275,   540,  5486,
   16648             :      357,   464,   122,   180,   438,   190,   536,   479,  1296,   472,
   16649             :      228,  1687,   475,   293,   540,   341,    10,   216,   537,    13,
   16650             :      200,   540,   312,  1699,  1700,  1701,  1702,  1703,   148,   263,
   16651             :      471,   536,   536,   251,   268,   469,   272,   224,   263,   273,
   16652             :      218,  1717,   378,  1712,   477,   304,  3131,  1716,   182,   406,
   16653             :     3135,    45,  1728,  1729,  1730,   289,   304,   326,    52,   396,
   16654             :     1687,   495,   280,  4516,   293,   325,   304,  1355,  4521,   390,
   16655             :      183,    10,   331,   493,    13,  5888,  1955,  2763,    17,    18,
   16656             :       19,  4599,  1944,   331,    78,  1954,  1955,  6128,    29,   448,
   16657             :      289,   325,   310,   331,  4555,   316,    35,   166,   435,   368,
   16658             :      136,   122,   536,   181,   289,   524,   525,   526,   527,   528,
   16659             :      529,   530,   531,   532,   471,    10,   394,   438,    13,  4593,
   16660             :     2926,   493,    17,    18,    19,   298,   493,  2673,   343,   524,
   16661             :      525,   526,   527,   528,   529,   530,   531,   532,   403,   373,
   16662             :       35,   326,   479,   396,   257,   477,     3,   403,   469,    25,
   16663             :     1933,  1827,   123,   179,   267,    31,   493,   151,   394,   293,
   16664             :     6338,   379,  1838,   397,   298,   390,    99,   526,    10,   326,
   16665             :     1846,  1847,  4833,   350,   495,    17,    18,    19,   298,   538,
   16666             :      517,   217,   435,   368,   418,   254,  1862,   213,   112,  1477,
   16667             :     1478,   123,  1480,   392,   135,    13,  2633,  2652,  5386,   536,
   16668             :      241,  3007,   228,   197,  1880,  1881,   227,    23,   202,  6250,
   16669             :      387,   368,   346,   438,  2083,   536,   326,  4406,   325,  2735,
   16670             :     1896,  1897,  1898,  1899,   414,   251,   479,   198,   362,  1905,
   16671             :     6445,   723,     5,   511,   267,   469,  1912,   306,    11,  1915,
   16672             :      732,  2715,  5430,   536,   469,  4434,   403,   739,   289,   439,
   16673             :      742,   184,  6467,  3472,  1930,   473,  3475,  1933,   536,   253,
   16674             :       78,  5767,  6075,   120,   140,   243,   198,  1943,  1944,  5749,
   16675             :      495,   123,   293,   351,   451,   540,   453,   536,  1954,  1955,
   16676             :      457,   387,  1958,   536,   540,  1961,   225,   314,   536,  5776,
   16677             :     2936,  6332,   477,   403,  2763,   135,   403,   137,   536,   326,
   16678             :     1976,  1977,   370,   537,  3523,   526,   384,  1983,   120,  1985,
   16679             :      178,   536,  3531,   534,   483,   536,   537,   538,   312,   540,
   16680             :      398,   493,   490,    64,    23,    23,  2002,   440,  2874,   442,
   16681             :      225,    72,   466,  2009,   202,  2011,   357,  1986,  2014,  2015,
   16682             :     2016,   368,  2018,  2019,   268,  2021,   198,   453,   160,   273,
   16683             :      483,  2067,  2028,   379,  2900,   387,   469,   316,   436,  2035,
   16684             :     2042,   122,  2038,  2039,  3160,   406,  2042,   536,   540,  2045,
   16685             :     2046,  5525,   540,   312,  2050,   385,  2052,   387,  2033,  2835,
   16686             :     5205,  2057,  2058,   195,  2033,  6265,  5307,   148,  2064,  2065,
   16687             :     2066,  2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,
   16688             :     2076,  2028,  4033,   536,  2080,   450,  2082,  2083,  2084,  2085,
   16689             :     2086,  2087,  2088,  2089,   408,   173,  2092,   312,  2094,  2095,
   16690             :     4051,   453,  2098,  2033,  2033,   493,  3020,  3021,  3022,  2986,
   16691             :      471,  2763,  2033,   536,   393,  4624,   293,  2113,  2114,  2115,
   16692             :     1988,   298,  1990,   453,  1992,  2033,  1994,   263,  1996,   517,
   16693             :      211,   209,  2000,   293,  3000,  2131,   473,   484,  3543,  1631,
   16694             :       69,    70,    25,  3628,  1636,  5126,  5972,  3753,  3553,  5102,
   16695             :      312,  2940,   540,  4067,    13,   169,  5990,   334,  2045,  2948,
   16696             :     2936,   293,  2951,  4088,  5971,  4103,    38,  3353,  4093,  5121,
   16697             :     4125,  4126,  4127,  4128,   157,  2171,  4131,  4132,  4133,  4134,
   16698             :     4135,  4136,  4137,  4138,  4139,  4140,    45,  3152,  5141,  2916,
   16699             :     6390,  2914,  5337,  2916,  5339,   326,   257,  5519,  2974,   536,
   16700             :     3066,   515,  5730,   493,   180,  4092,   326,  2989,   289,    81,
   16701             :     4097,  4098,   293,   527,   528,   529,   530,   531,   532,    78,
   16702             :     1712,  4009,   765,  3628,  1716,   360,  3103,  3104,  3105,  3106,
   16703             :      155,  3108,   246,  3009,   293,  2833,  3835,   368,   214,   298,
   16704             :     4195,  4196,  3841,  1055,   263,   263,   166,   390,   368,  1061,
   16705             :      540,  3726,   172,  1065,   390,  1067,  3133,   140,   166,  6415,
   16706             :      540,  6417,   397,   326,   172,   524,   525,   526,   527,   528,
   16707             :      529,   530,   531,   532,   440,   818,   442,   420,   326,   204,
   16708             :      493,   360,  5368,  2279,  3777,  2964,    38,  2966,   493,     0,
   16709             :     5063,  2970,  5065,  5066,  5067,   354,  5090,   202,  5092,   326,
   16710             :      435,     3,   438,  5781,   517,   368,   326,  6133,    60,   524,
   16711             :      525,   526,   527,   528,   529,   530,   531,   532,   397,  1131,
   16712             :      368,  1133,  1134,  4228,    26,  6481,    80,   540,   871,  5803,
   16713             :      493,  3824,   539,   469,   254,   540,     5,  2333,    92,   157,
   16714             :      403,   368,    11,   385,  5755,   372,   254,  5328,   368,  4236,
   16715             :      485,  3537,    27,    29,   517,   403,   435,  3223,   122,   495,
   16716             :      112,   373,   524,   525,   526,   527,   528,   529,   530,   531,
   16717             :      532,   390,   390,    25,  1008,    50,   403,   419,  1986,    31,
   16718             :      448,  5362,   112,   403,   148,  6477,   306,   172,  5710,    91,
   16719             :      933,   403,  3149,  1027,  2390,    22,  1030,  3154,   306,  3156,
   16720             :      536,    28,  6494,  3126,   326,   473,   485,    83,   172,  3166,
   16721             :       86,   196,  3169,   396,  3171,  3172,  3949,    93,  3175,   438,
   16722             :      438,  3210,  3179,   100,  3181,  2033,   326,  3184,  4941,  6255,
   16723             :      182,   314,   172,   781,   782,   783,  4949,  3085,   786,   787,
   16724             :      788,   153,   120,   173,   146,   121,   368,   211,   796,   493,
   16725             :      469,   469,   435,   205,   166,  1884,   196,    15,    16,  2067,
   16726             :      172,  6072,   357,   368,   364,   143,  6266,   372,   368,   172,
   16727             :      493,    35,   150,   517,   369,  1904,   495,   495,  3344,   209,
   16728             :      531,   403,   183,  2091,  3350,   536,   164,   538,   140,   372,
   16729             :      373,  3248,   536,   196,   517,   534,   479,   536,   403,   538,
   16730             :      202,    38,   179,   403,   399,    10,   182,   209,    13,   221,
   16731             :      493,   263,    17,    18,    19,  3429,   268,   536,   536,   195,
   16732             :      403,   273,   135,    60,   137,   289,   531,  5508,  3207,   293,
   16733             :       35,   536,   208,   538,   517,     5,   213,   289,   268,   517,
   16734             :      518,    11,   254,   273,   517,   518,  5868,  3322,   143,    19,
   16735             :       99,   228,   310,   536,   348,   150,   257,   315,   536,  3334,
   16736             :       33,    34,  3289,   536,   535,  5651,  5666,    37,   453,   540,
   16737             :      119,  5671,  5672,   325,   251,   112,    25,   302,   396,  2575,
   16738             :     2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,   493,  2585,
   16739             :      536,  4546,   538,   310,   306,  3370,  1004,  2796,   315,  2595,
   16740             :     2596,  1009,  2598,   280,   316,   485,  5587,  2796,   157,  2605,
   16741             :      534,   244,   517,  2795,   538,  2797,  2798,   435,   529,   537,
   16742             :      298,   373,   540,   534,  6424,   536,  3333,   538,  3335,  3336,
   16743             :      534,   333,   536,   310,   285,   286,   287,   288,  2634,  3414,
   16744             :     2636,   453,    91,  2639,  2640,   397,  3435,  2643,   529,  2645,
   16745             :     2635,  3782,  2648,   534,   393,   536,  2652,   538,   536,   360,
   16746             :      538,   479,  5435,  3454,  3455,   536,   418,  3614,   205,   537,
   16747             :      537,   271,   540,   540,   326,   493,  2284,   537,   380,  2675,
   16748             :      540,   153,   536,  3432,   133,  2681,  2682,  2634,   370,  2792,
   16749             :      537,   140,   267,   540,   166,   144,  2692,   393,   537,   517,
   16750             :      172,   540,   379,  3650,   537,  2701,  2702,   540,   517,   518,
   16751             :      537,  4250,  3544,   540,   267,  4254,   368,   469,   536,  2715,
   16752             :      225,   537,   537,  2832,   540,   540,   263,  2723,   207,  2725,
   16753             :      432,   268,  4683,    96,  2681,  2682,   273,   385,   386,   440,
   16754             :     6218,   442,   385,   386,   420,  6223,  6224,   423,  4699,   221,
   16755             :     5783,   403,   289,   465,   271,   537,  3389,  3729,   540,   385,
   16756             :      386,  3488,   464,  2765,  3554,  2767,   385,   386,   469,  2765,
   16757             :      472,  2767,  4378,   475,   196,   537,   537,   455,   540,   540,
   16758             :      324,    25,   254,  3435,   485,  2781,   453,    31,   325,   467,
   16759             :      537,  3938,   537,   540,   100,   540,  2792,  5654,  5655,  2795,
   16760             :     2796,  2797,  2798,  4728,    87,  2801,   537,   312,  2804,   540,
   16761             :     4735,  4736,  2720,  4601,   537,   364,  2925,   540,  5830,  5831,
   16762             :     4359,  3578,   534,    59,   537,   537,   538,   540,   537,  2825,
   16763             :      537,   540,    76,   540,   306,  6443,   373,   396,  6446,  3615,
   16764             :      493,  2837,   495,  4376,   316,  4378,   537,   396,  4341,   540,
   16765             :     5644,  4361,   396,  6033,  6034,  2851,  2852,  2804,   393,   483,
   16766             :      397,  1209,  2858,   493,  1212,   495,  1214,   485,  1216,   537,
   16767             :     1218,  2867,   540,   179,  1222,   537,   435,   326,   540,   537,
   16768             :     5389,   418,   540,  6205,    54,    55,   435,  4050,  5869,   133,
   16769             :      244,   435,  3571,  2889,    11,   537,   140,  3006,   540,   536,
   16770             :      144,  6379,  3659,   390,  3661,  4310,  3919,   213,   537,   537,
   16771             :     2096,   540,   540,  2099,  2910,   364,  3881,   433,   310,   368,
   16772             :      479,  4414,   228,   537,  6069,  3701,   540,  2923,   537,   173,
   16773             :      479,   540,   469,   537,   493,   479,   540,   540,   537,   537,
   16774             :     3592,   540,   540,   536,   493,   251,  3592,   536,    10,   493,
   16775             :     2946,    13,    59,  2949,   403,    17,    18,    19,   517,   537,
   16776             :      485,   410,   540,  2910,   537,   209,   537,   540,   517,   540,
   16777             :     3568,  3569,   537,   517,   280,   540,   440,   536,   442,  2975,
   16778             :     2976,   537,   537,    45,   540,   540,   537,   536,    48,   540,
   16779             :       52,  5619,   536,   465,  2990,  5976,  2992,  2993,  3875,   513,
   16780             :      538,  3724,  5511,   227,   181,   537,  3729,   537,   540,  2963,
   16781             :      540,  3877,   294,   295,   537,   537,    78,   540,   540,   524,
   16782             :      525,   526,   527,   528,   529,   530,   531,   532,  3024,  3025,
   16783             :     3026,   310,   313,  2641,  3030,   135,   537,   137,   537,   540,
   16784             :      537,   540,  3038,   540,   537,   289,   172,   540,  3805,   293,
   16785             :     2675,   310,  4591,  4592,  3811,  3051,   537,   513,   313,   540,
   16786             :      304,  3057,   534,  3059,   164,    48,   538,  2675,   245,  6391,
   16787             :      314,   513,  3254,   379,  3256,  3257,  3072,  2666,  2667,  2668,
   16788             :     4613,  3077,   326,   537,   227,   177,   540,  3083,   153,  4608,
   16789             :     3086,   537,   537,   537,   540,   540,   540,   537,  5892,  5893,
   16790             :      540,   166,  3098,  3099,   440,   529,   442,   172,    10,  4295,
   16791             :      540,    13,  2720,  3109,   396,    17,    18,    19,  1930,   537,
   16792             :     3718,  1933,   540,  3119,   368,  3121,   536,   371,   372,   229,
   16793             :      537,  1943,  1944,   540,   537,   197,    38,   540,   537,   482,
   16794             :      202,   540,  3740,   493,  4629,   495,  1958,  6469,  3251,  1961,
   16795             :      342,   537,   537,   435,   540,   540,   221,   537,   537,   403,
   16796             :      540,   540,   537,  6144,  3160,   540,  3162,   537,  3164,   537,
   16797             :      540,   536,   540,   537,  6127,   537,   540,   537,   540,   537,
   16798             :      540,   493,   540,   495,  3907,   285,   286,   287,   288,   254,
   16799             :      536,   253,   292,   293,    37,   536,  4168,   479,   298,  2011,
   16800             :     3389,  3197,   537,  2015,  2016,   540,   537,   384,   537,   540,
   16801             :     3118,   493,    92,  4360,   391,   537,  4363,   537,   540,  4366,
   16802             :      540,   398,   537,   537,  4629,   540,   540,   537,   537,  5860,
   16803             :      540,  3883,   476,  3885,    59,   517,     0,  3883,   178,  3885,
   16804             :     3997,   306,  3999,   223,  4001,  4037,  3925,   223,   538,   537,
   16805             :      312,   316,   540,   368,   536,  3251,  3252,   202,  3254,   436,
   16806             :     3256,  3257,   537,  3259,   537,   540,   493,   540,   495,  4058,
   16807             :     3266,  4222,   497,   537,   537,  3271,   540,   540,  6259,    43,
   16808             :      537,   158,   459,   540,  6265,   537,  3322,   537,   540,  5244,
   16809             :      540,   537,   158,   539,  4833,  4161,  4268,   537,   536,   539,
   16810             :     3898,  4840,  3900,   183,   536,   536,  4845,    10,  3497,  4848,
   16811             :       13,   537,  5237,  5238,   540,  3967,  4219,   537,  4221,     3,
   16812             :      540,  3967,   536,   225,  3320,  3321,  3322,   207,   537,  3325,
   16813             :     4822,   540,  4824,  4305,  3370,    99,   536,  3333,  3334,  3335,
   16814             :     3336,   537,    45,  4022,   540,  4120,   408,   538,   537,    52,
   16815             :     4956,   540,   310,  3349,    10,   455,  3352,    13,  3354,   368,
   16816             :      202,    17,    18,    19,   310,  6146,   537,   467,   158,   540,
   16817             :     3366,  3367,   158,   537,  3370,    78,   540,   257,   537,  4154,
   16818             :      537,   540,   537,   540,   537,   540,   202,   540,   537,   153,
   16819             :     4255,   540,  4257,  3389,  1494,  3391,  1496,  3393,   158,  3395,
   16820             :      465,   310,   166,   153,  5288,   172,  5290,    91,   172,  6390,
   16821             :      312,  4921,  4377,   368,   178,   158,   166,   252,  3414,   473,
   16822             :      184,  3417,   172,   187,   122,  3421,   310,   191,   536,   302,
   16823             :     4205,   172,   537,    72,   293,   315,    38,   293,   497,  3475,
   16824             :      536,  3422,  3423,  3424,   293,   310,  3442,    48,   151,    48,
   16825             :      295,   458,   293,   515,   293,  4053,   326,   221,    91,   223,
   16826             :      485,   145,   524,   525,   526,   527,   528,   529,   530,   531,
   16827             :      532,   221,   485,    87,  3099,   453,  3472,    54,   172,  3475,
   16828             :     3476,   349,   158,   158,  3480,  3481,  3482,  3483,   536,   158,
   16829             :      254,  3527,   158,  3489,   197,  3442,   153,   497,  3494,   202,
   16830             :      135,  4333,   137,   158,   254,  4652,   158,   540,   158,   166,
   16831             :     3118,   158,   158,  3509,   158,   172,   158,  4307,   158,   172,
   16832             :      158,   158,   158,   310,   101,   435,   158,  3523,   158,   164,
   16833             :      536,  3527,    38,   252,  3530,  3531,   310,  3533,   172,  4405,
   16834             :       10,  4407,   306,    13,   172,   536,   310,     6,     6,   126,
   16835             :      253,   396,   316,   172,   536,  4502,   306,   536,     6,  4524,
   16836             :      440,   536,   442,   536,   221,   536,   316,  4433,   145,   225,
   16837             :      536,   536,   536,   453,   151,    45,   260,     6,  3574,   536,
   16838             :      536,     6,    52,  5534,   536,   536,   466,  5126,   536,   469,
   16839             :      435,     6,   536,   536,   229,   536,   173,   254,  4512,   536,
   16840             :      177,   536,  3598,  3599,  5559,   536,   536,  6388,    78,   312,
   16841             :      536,   536,   376,   536,   536,   192,   536,   536,   536,   536,
   16842             :      536,   536,   524,   525,   526,   527,   528,   529,   530,   531,
   16843             :      532,   536,   300,   536,   479,  5590,   536,   536,  3634,   536,
   16844             :      536,   536,   326,   536,   494,  4434,  3642,   167,   493,   306,
   16845             :      285,   286,   287,   288,   223,   322,   312,   292,   540,   316,
   16846             :       38,   540,   103,   298,   252,    38,    37,   431,    10,   536,
   16847             :      446,    13,   517,   446,   534,    17,    18,    19,   448,   534,
   16848             :      364,   151,   448,   448,   368,   536,   448,   178,   372,  3878,
   16849             :      172,   536,   537,    35,   539,   306,  3692,   172,   304,   403,
   16850             :      540,   465,    68,    45,   448,   408,   448,   390,   448,   484,
   16851             :       52,   448,   390,   448,  3322,   465,   538,   448,   390,   403,
   16852             :     3716,   298,   254,   448,    79,   448,   490,   197,   492,   493,
   16853             :     3726,   526,   202,   448,    92,   158,    78,   310,   249,   390,
   16854             :      448,   395,   448,   298,   128,   472,   448,   438,   331,   310,
   16855             :      514,   304,   536,   448,   438,   448,   385,   441,   195,   536,
   16856             :       92,   540,  3370,    10,   128,   158,    13,  5172,  5307,   326,
   16857             :       17,    18,    19,   537,   202,   539,   540,   354,   448,   128,
   16858             :      114,   473,   128,   253,   473,   448,  3394,   448,    35,  5328,
   16859             :      448,    59,    59,   277,   353,   314,   331,   353,    45,   448,
   16860             :      448,   353,  3410,   448,   331,    52,    47,   448,   465,   493,
   16861             :      540,   537,   515,   438,   225,   225,   310,   448,   225,  4685,
   16862             :      455,   448,   448,  5362,   527,   528,   529,   530,   531,   532,
   16863             :      448,    78,   467,   448,   541,   448,   448,   225,   448,  3835,
   16864             :      448,   448,   312,   448,   448,  3841,   225,  3472,   448,   225,
   16865             :     3475,   225,   448,   225,   310,   197,  3852,   225,   225,   536,
   16866             :      202,   458,    38,  2675,  3472,   158,   310,  3475,   524,   525,
   16867             :      526,   527,   528,   529,   530,   531,   532,   158,   120,   293,
   16868             :      473,   158,   158,   225,   226,   158,   484,   293,  4677,   310,
   16869             :      260,   293,   293,  3889,  3890,  3891,    38,   172,  3523,    38,
   16870             :     4872,   244,  2675,   392,   158,   158,  3531,   473,   158,  4666,
   16871             :     3906,   253,  4669,   536,   536,  3523,   536,   302,   158,  3527,
   16872             :      448,   178,   473,  3531,  3920,   489,   277,   536,   297,   277,
   16873             :       13,   448,   187,   195,   537,   321,   450,   195,   408,   513,
   16874             :      534,  4698,  3938,  3939,  3940,   540,   536,   536,  3944,   536,
   16875             :      197,  4787,   537,   513,   296,   202,   540,   537,   537,   537,
   16876             :     3956,   537,   394,   275,  5111,   537,   490,   406,   473,  5508,
   16877             :      312,   241,   221,  5492,   311,  4573,  4574,   540,   225,   226,
   16878             :     2792,    38,   540,  2795,   319,  2797,  2798,   473,    59,   537,
   16879             :      390,   484,  4671,  4672,  4673,  4674,  4675,   536,  4773,   298,
   16880             :      298,   298,  4855,   448,   172,   448,   253,   536,   448,  3956,
   16881             :      298,    48,   241,   412,   310,   310,  4012,   241,   536,   293,
   16882             :      298,   252,   252,   385,   252,   271,   310,   128,   448,   438,
   16883             :     4026,  4027,   540,   202,   196,   368,   540,   357,   310,   310,
   16884             :      403,  4037,   493,   400,  3952,   515,   310,   316,  5587,   296,
   16885             :      448,   448,   537,    38,  4050,   225,   473,   527,   528,   529,
   16886             :      530,   531,   532,   244,   526,   312,   408,   352,   315,  4203,
   16887             :      473,   158,   304,  4069,   172,    38,   436,   485,   174,   536,
   16888             :     3988,   400,  4078,   158,   536,   158,   158,   353,   304,   493,
   16889             :     4037,   473,   293,    38,   293,   310,  4092,    27,   310,   244,
   16890             :     4096,  4097,  4098,   193,   304,   193,  5071,  4103,   172,    38,
   16891             :     4106,   173,   244,  4109,   400,   310,   172,  5650,   293,  4115,
   16892             :      202,  4117,   202,   202,  4120,   202,   202,   540,    62,  4125,
   16893             :     4126,  4127,  4128,   538,    59,  4131,  4132,  4133,  4134,  4135,
   16894             :     4136,  4137,  4138,  4139,  4140,  4902,   540,   497,  4144,  4145,
   16895             :     4146,   540,   178,   540,   448,   536,   274,  4946,  4154,   310,
   16896             :      540,   408,   493,  4159,    98,  4201,   302,  4163,   178,   514,
   16897             :      316,   478,   537,   515,   376,  4171,   537,   536,  4174,   322,
   16898             :     4176,   537,   524,   525,   526,   527,   528,   529,   530,   531,
   16899             :      532,   135,   332,   537,   178,   513,  4192,   537,   292,  4195,
   16900             :     4196,   540,  4959,  4960,  4200,  4201,   267,   490,   537,  4205,
   16901             :      540,  4207,  4208,   540,   537,   537,  5755,  4406,   535,   540,
   16902             :     4216,  4217,  4218,   537,   537,  4858,   537,   537,   162,   537,
   16903             :     4211,  4212,  4213,  4214,  6189,  6190,   540,  1484,  6193,   448,
   16904             :     4236,  4237,  4238,  4239,  4240,  4434,  4242,  4243,   537,   536,
   16905             :     4246,   178,   187,  4228,  4250,   537,    23,   536,  4254,  4228,
   16906             :      540,    28,   262,   471,  4260,   199,   479,   490,   515,   310,
   16907             :      526,   536,   517,   536,   535,    59,   536,   524,   525,   526,
   16908             :      527,   528,   529,   530,   531,   532,   537,  3099,   536,   516,
   16909             :      310,  4287,   536,   310,   541,   313,  5053,  5054,  4228,  4228,
   16910             :      158,   448,   215,   298,   448,   161,  4302,  4228,  4304,   158,
   16911             :      448,   448,    79,    80,   293,   249,   536,   536,   207,  4917,
   16912             :     4228,   423,   536,   209,   158,   403,  3099,   395,   158,    96,
   16913             :     5869,   252,   395,   207,   161,   395,   310,   526,   448,   473,
   16914             :      161,   390,   490,   254,  3952,   333,   333,   114,   470,   161,
   16915             :      420,  5030,  5031,   448,  5033,   289,   448,   448,   264,   293,
   16916             :      264,   264,   448,  4359,  4360,  4361,   390,  4363,  5091,  5283,
   16917             :     4366,   138,  4368,   128,   448,   390,   390,   390,   293,  5784,
   16918             :     3988,   448,   448,   448,   403,   152,   158,    47,    47,   448,
   16919             :      448,  4387,   326,   327,   161,   448,   448,   448,   448,   225,
   16920             :      225,   190,   537,  5317,   537,   535,   537,   174,   537,   314,
   16921             :      537,   458,   540,   180,     3,   172,    48,   113,   537,   540,
   16922             :      172,   536,    38,  5021,   537,   158,   448,  5184,   158,   526,
   16923             :     5187,  5188,   172,   304,   368,  4624,   190,  5976,   372,  3251,
   16924             :      207,   473,  3254,   377,  3256,  3257,  4442,   536,   473,   158,
   16925             :     5207,   390,   386,   390,   390,   540,   156,   390,   390,   400,
   16926             :      225,   395,   156,   225,   225,   225,   225,   225,   147,   403,
   16927             :      466,   310,   225,   229,   225,   225,   466,   310,   245,   534,
   16928             :       59,   310,   416,   537,    13,   322,   310,   484,   178,   537,
   16929             :      292,   425,   535,   537,  4448,   540,   430,   537,   537,   537,
   16930             :      267,  4497,   537,  6109,   540,  4459,   537,   537,   536,   228,
   16931             :      537,   320,   228,   536,   437,   536,   317,    59,   191,   445,
   16932             :      536,  5119,   376,   478,    90,   172,    38,   458,   448,   244,
   16933             :      473,   473,   215,    59,  4530,   158,  5322,   438,    86,   420,
   16934             :      182,   458,   395,   161,   390,   473,   448,   390,  4544,   448,
   16935             :     4546,   448,   448,   448,   488,   537,   537,   537,  4554,   536,
   16936             :      368,   536,    59,   438,  4560,   479,   172,   310,    78,   493,
   16937             :      158,  5687,   113,  5689,  5440,  4571,   458,   537,   536,   225,
   16938             :      225,   225,   349,   350,   225,   241,   353,   536,   210,   536,
   16939             :     4586,   448,   310,  4201,   540,  4591,  4592,   497,    38,   537,
   16940             :      331,   307,   310,  4599,    72,  6144,     3,   458,    44,   400,
   16941             :       78,   184,  4608,   380,   185,   113,   383,   536,   540,   537,
   16942             :     4228,  5300,  4618,   390,    92,  4250,   448,   536,   540,  4254,
   16943             :      397,   178,  5311,   400,  4630,  4631,   145,   242,   225,   537,
   16944             :      242,   298,  4250,   537,    10,  4641,  4254,    13,   298,   537,
   16945             :      298,   178,   120,   420,   122,   298,  4652,  4653,   537,   537,
   16946             :     3472,   428,   331,  3475,    59,   537,   536,   540,   435,  4858,
   16947             :      322,   438,   491,   491,  4670,  5469,   443,   537,   537,    45,
   16948             :      148,   492,   228,   304,   536,   540,    52,   493,  5835,   536,
   16949             :      526,   458,  5698,   303,   458,   178,   445,   493,   209,  3472,
   16950             :      448,    78,  3475,   196,   196,    38,   298,    38,   540,  4617,
   16951             :      526,  3523,    78,   298,   182,  4711,    59,   438,   485,  3531,
   16952             :     6259,   448,    72,   540,   448,   540,  6265,   158,   448,    62,
   16953             :     5363,  4727,   161,   537,  4359,   448,   225,   536,  5885,     6,
   16954             :      127,   180,   120,   211,    38,   289,   202,   304,   536,  4745,
   16955             :     3523,     0,    38,   293,   174,   304,   473,   493,  3531,    59,
   16956             :      400,   400,    84,   438,   493,    98,    38,   178,  5401,   172,
   16957             :      536,   310,   540,   363,   212,   313,   223,  4773,   178,   478,
   16958             :     4776,   417,    59,    38,    51,  5932,  5933,    92,  4784,  4785,
   16959             :     5565,   537,  5390,   537,   536,  4791,  4792,   393,   537,   537,
   16960             :     4796,    81,   536,   310,  5579,  4801,   136,   203,  4804,  4805,
   16961             :      536,   448,   537,   536,   322,  4811,    38,   158,   158,  4815,
   16962             :     4816,  4817,  4818,  2070,  2071,   293,  5601,   537,   448,   162,
   16963             :      298,   197,   537,  5608,   537,   537,   202,  4833,  2085,   536,
   16964             :     4836,   536,    38,   536,  4840,   536,   172,  2094,   536,  4845,
   16965             :       99,  6390,  4848,  4849,   536,  4851,   536,  4853,   209,   473,
   16966             :     4856,   298,  4858,   265,   536,   536,   199,   537,   400,   158,
   16967             :      113,    38,   537,   314,   178,  4871,   458,   172,   346,  4875,
   16968             :     5637,  4877,   415,   537,   415,   540,    38,   253,     0,    10,
   16969             :      206,  4893,    13,   310,   362,   112,    38,  4893,   478,   537,
   16970             :       35,   438,   537,   536,   153,   536,   536,  5682,  5683,  5698,
   16971             :      536,   244,   540,   540,   362,   473,   249,   166,  5924,  5598,
   16972             :      195,   536,   172,   172,    45,  4921,  4922,   536,   207,   178,
   16973             :      197,    52,   438,   537,   310,   184,  5693,     6,   187,   206,
   16974             :      207,  4937,   191,  5809,   165,   497,   312,   214,    72,   216,
   16975             :      217,   386,   536,   386,   313,  6102,    72,    78,   539,   136,
   16976             :      293,  4869,  4870,   230,   477,   493,  4591,  4592,   493,   141,
   16977             :      489,   150,   221,   310,   537,  5941,   478,   537,   169,  5845,
   16978             :      169,   540,   536,  4591,   332,   536,  4940,    99,    38,   403,
   16979             :      266,   444,   444,   178,   327,   438,   298,  4951,   466,   310,
   16980             :      310,   536,   400,    10,   438,   254,    13,  5003,    38,  4617,
   16981             :       38,   203,  5691,   536,  5010,   313,   313,   180,   180,   536,
   16982             :      157,   497,   497,   355,   385,   154,   355,    59,    59,    81,
   16983             :      151,   369,  5684,   317,  6181,  6182,  5032,    38,    45,   372,
   16984             :       59,   153,   408,   537,   377,    52,  5698,    59,   536,   448,
   16985             :     5807,  5047,   125,   386,   166,  5921,   471,   306,   537,     6,
   16986             :      172,   310,   395,   536,   400,   141,   178,   316,   310,   497,
   16987             :      403,    78,   184,   497,  6221,   187,   197,   310,  5853,   191,
   16988             :     5855,   202,  5078,   416,    35,   298,   537,   536,   294,   403,
   16989             :      536,   294,   425,    24,   536,   385,   540,   430,   389,  5095,
   16990             :      310,   389,   385,   318,    81,   479,  5102,   178,   540,   221,
   16991             :      536,   536,   150,   448,   426,  5111,    10,   426,   451,    13,
   16992             :      478,   540,   157,   415,   537,     6,   120,   376,   415,   317,
   16993             :     5126,   493,   253,   479,   334,   180,   493,   180,    81,   473,
   16994             :      932,  5518,   254,  5139,   151,  5141,   537,   536,   536,   515,
   16995             :      478,    45,   537,   536,  1019,   488,  1018,  3435,    52,   492,
   16996             :     2974,   527,   528,   529,   530,   531,   532,   972,  1715,  2883,
   16997             :     3650,  5167,  1410,  4405,  5363,  4380,  6093,  3001,  3055,  3869,
   16998             :     5443,  5921,  5178,  6233,    78,  4571,   435,  5492,  4378,  4378,
   16999             :      197,   312,  5080,  5468,   306,   202,  3637,  3575,   310,  5716,
   17000             :     5389,  4934,  5401,  6321,   316,  6222,  5362,  6322,  4833,  5951,
   17001             :     6259,  5950,  5401,  6113,  3643,  4840,   465,  5126,  5400,  4592,
   17002             :     4845,  4618,  4603,  4848,  4561,  5894,  3069,  6233,  3069,  4400,
   17003             :     5138,  3675,  4840,  3917,  1014,  5231,  4587,  4845,  5120,  5475,
   17004             :     4848,   490,  3961,   492,   493,  5241,   253,  4654,  5244,  6347,
   17005             :     5796,  5247,  5248,  5249,  5887,  6483,  6458,   151,  5459,  3877,
   17006             :     4626,  4869,  4870,  5445,   376,   514,  6125,  5403,  5669,  5406,
   17007             :       18,    28,  5924,   667,  1236,  5635,  5272,  5273,  4026,  4682,
   17008             :     5276,  4685,  6343,  1875,  3085,   534,  4629,   408,   537,   538,
   17009             :      539,  3553,  2740,  5518,  3972,  1919,  5784,  5293,   719,  1916,
   17010             :     3809,  5297,   752,   197,  4433,   312,  3000,  5303,   202,  1930,
   17011             :     3726,  5307,  6151,  6394,  4658,  5311,   861,  6317,  5314,  1529,
   17012             :     5316,  4660,  4871,   435,  6059,  3031,  5322,  1828,  4302,  2682,
   17013             :     5630,  5633,  5328,  1426,    40,  5331,    40,  4727,  1954,  3494,
   17014             :     3509,  1387,  6052,  2692,  5857,  3475,  1487,  4256,  4238,  3472,
   17015             :     5308,  4303,  5587,   465,  5586,  3472,  6371,  6046,  5844,   253,
   17016             :     1486,  6194,  3472,  6410,  1489,  5563,  5362,  5363,  5364,  4163,
   17017             :     5366,  2590,  5368,  5858,  1443,  3412,    38,  5859,   490,  2591,
   17018             :      492,   493,  2087,  3394,  3030,  3267,  3392,  5808,  6412,  3382,
   17019             :     3303,  4095,  2596,  2680,   515,    -1,   920,    -1,   665,    -1,
   17020             :       62,   408,   514,    -1,  5400,  5401,   527,   528,   529,   530,
   17021             :      531,   532,    -1,    -1,    -1,  6437,    -1,   684,   312,    -1,
   17022             :       -1,    -1,   534,   690,    -1,   537,   538,   539,    -1,    -1,
   17023             :       -1,    -1,    -1,    -1,    -1,   702,    98,    -1,  4250,    -1,
   17024             :       -1,  6093,  4254,    -1,    -1,  2692,    -1,    -1,    -1,  5445,
   17025             :       -1,   718,  5320,    -1,    -1,    -1,   723,    -1,  6215,    -1,
   17026             :       -1,   728,    -1,  5459,    -1,   732,   733,    -1,  5464,    -1,
   17027             :       -1,    -1,   739,  5469,   741,   742,    -1,  4250,    -1,    -1,
   17028             :       -1,  4254,  5478,    -1,    -1,    -1,    -1,   754,   755,    -1,
   17029             :       -1,    -1,  5488,    -1,    -1,    -1,  5492,    -1,   765,  5495,
   17030             :      162,  5126,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
   17031             :     5506,  5507,  5508,    -1,   408,    -1,    -1,    -1,    -1,    -1,
   17032             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,  5518,
   17033             :     5138,  6397,  5518,  5518,  5518,  5518,  5518,   199,    -1,  5518,
   17034             :       -1,  5518,    -1,  5518,  5518,  6459,  5542,  4359,  5518,  5518,
   17035             :       -1,   818,  6327,    -1,    -1,  5518,    -1,    -1,    -1,  5518,
   17036             :     5507,  5518,    -1,  5559,    -1,  5473,    -1,  5563,    -1,  5565,
   17037             :       -1,    -1,  5608,   840,   841,    -1,    -1,    -1,    -1,   846,
   17038             :       -1,  6233,   244,  5579,    -1,    -1,  4359,   249,  5518,  5518,
   17039             :       -1,  5587,  6458,    -1,  5590,    -1,  5504,  5518,  5594,    -1,
   17040             :       -1,  6376,    -1,    -1,   871,  5601,   873,  6330,  6331,    -1,
   17041             :     5518,    -1,  5608,    -1,    -1,    -1,    -1,  6483,    -1,    -1,
   17042             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17043             :      897,   293,    -1,   527,   528,   529,   530,   531,   532,    -1,
   17044             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17045             :       -1,    -1,    -1,   920,    -1,  5651,    -1,    -1,    -1,    -1,
   17046             :       -1,    -1,    -1,    25,  5660,   327,   933,    -1,    -1,    31,
   17047             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17048             :     5676,    -1,  5307,    -1,    46,    -1,  5682,  5683,    -1,    -1,
   17049             :       -1,  5687,  5688,  5689,  5690,    -1,    -1,    -1,  5887,  5307,
   17050             :       -1,    -1,    -1,  5328,    -1,    -1,    -1,    -1,    -1,    -1,
   17051             :      372,    -1,    -1,    -1,    76,   377,    -1,    -1,    -1,    -1,
   17052             :       -1,    -1,  5718,    -1,   386,    -1,    -1,    -1,    -1,    -1,
   17053             :       -1,  5727,    -1,   395,    -1,    -1,    -1,  5362,    -1,    -1,
   17054             :       -1,   403,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17055             :       -1,    -1,    -1,    -1,   416,    -1,  5752,    -1,    -1,  5755,
   17056             :       -1,    -1,    -1,   425,    -1,    -1,    -1,    -1,   430,   131,
   17057             :       -1,   133,    -1,    -1,  1041,  1042,  1043,    -1,   140,  4591,
   17058             :     4592,    -1,   144,  1050,  5780,    -1,    -1,    -1,  1055,   451,
   17059             :       -1,    -1,    -1,  1060,  1061,    -1,    -1,    -1,  1065,    -1,
   17060             :     1067,    -1,    -1,    -1,  1071,    -1,    -1,    -1,    -1,    -1,
   17061             :       -1,   173,  5808,    -1,    -1,    -1,    -1,    -1,  4591,  4592,
   17062             :     1087,    -1,    -1,    -1,  5820,    -1,   488,    -1,    -1,    -1,
   17063             :      492,    -1,    -1,  5829,  5830,  5831,    -1,    -1,    -1,  5835,
   17064             :       -1,    -1,    -1,    -1,    -1,  5841,    -1,   209,  5844,  5757,
   17065             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5853,    -1,  5855,
   17066             :       -1,  5857,  5858,    -1,  1131,  5473,  1133,  1134,    -1,    -1,
   17067             :       -1,    -1,    -1,  5869,    -1,    -1,    -1,    -1,    -1,    -1,
   17068             :     5876,    -1,    -1,  5508,    -1,    -1,    -1,    -1,    -1,  5885,
   17069             :       -1,  5887,    -1,    -1,    -1,  5891,  5504,    -1,    -1,    -1,
   17070             :     5896,  6083,    -1,    -1,    -1,    -1,    -1,  1174,    -1,    -1,
   17071             :     5518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17072             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,
   17073             :       -1,   293,    -1,    -1,    -1,  1202,  5932,  5933,    -1,    -1,
   17074             :       -1,    -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17075             :       -1,    -1,   314,    -1,    -1,    -1,    -1,    -1,  5866,    -1,
   17076             :       -1,    -1,  5587,    -1,   326,    -1,  5962,    -1,  1235,    -1,
   17077             :     6152,  6153,    -1,    -1,    -1,    -1,    -1,  1244,    -1,  1246,
   17078             :     5976,    25,    -1,    -1,    -1,    -1,    -1,    31,    -1,    -1,
   17079             :       -1,    -1,    -1,    -1,    -1,    -1,  1263,    -1,    -1,    -1,
   17080             :     5608,  1268,    46,    -1,    -1,    -1,   368,    -1,    -1,   371,
   17081             :      372,    -1,    -1,  1280,    -1,    -1,    -1,    -1,    -1,    -1,
   17082             :       -1,  4833,    -1,    -1,    -1,    -1,    -1,    -1,  4840,    -1,
   17083             :       -1,  6027,    76,  4845,    -1,    -1,  4848,  4849,    -1,    -1,
   17084             :       -1,   403,    -1,    -1,    -1,    -1,  6042,    -1,    -1,    -1,
   17085             :     6046,    -1,    -1,    -1,    -1,  1322,  6052,    -1,    -1,    -1,
   17086             :     4833,    -1,    -1,    -1,  6060,    -1,    -1,  4840,  6064,    -1,
   17087             :       -1,    -1,  4845,  3320,  3321,  4848,    -1,    -1,  3325,    -1,
   17088             :       -1,    -1,    -1,    -1,  1351,  1352,  1353,  6083,  1355,   133,
   17089             :       -1,    -1,    -1,    -1,    -1,    -1,   140,    -1,    -1,  6095,
   17090             :      144,    -1,    -1,    -1,    -1,    -1,  6102,    -1,    -1,  1376,
   17091             :       -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,  3366,
   17092             :     3367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   173,
   17093             :     5755,  6127,    -1,    -1,  1401,    -1,    -1,    -1,  6134,    -1,
   17094             :       -1,    -1,  1409,  1410,    -1,    -1,    -1,  5755,  6144,  5757,
   17095             :       -1,    -1,    -1,    -1,    -1,    -1,  6152,  6153,  6154,    -1,
   17096             :       -1,    -1,  6158,    -1,    -1,   209,  1433,    -1,    -1,    -1,
   17097             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17098             :       -1,    -1,  6151,    -1,    -1,  6181,  6182,  6183,    -1,    -1,
   17099             :       -1,    -1,    -1,  6189,  6190,  1462,    -1,  6193,    -1,    -1,
   17100             :     6196,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17101             :       -1,    -1,  1479,    17,    18,    19,  1483,  1484,  6126,    -1,
   17102             :       -1,  6151,  6151,    -1,    -1,  6221,    -1,    -1,    -1,    -1,
   17103             :     6151,  6227,  1499,  6269,    -1,    -1,    -1,    -1,  1505,    -1,
   17104             :       -1,    45,    -1,  6151,  5869,   289,    -1,    -1,    52,   293,
   17105             :       -1,    -1,    62,    -1,    -1,    -1,    -1,    -1,  5866,    -1,
   17106             :      304,    -1,    -1,  6259,  6260,  6261,    -1,    -1,    -1,  6265,
   17107             :      314,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   17108             :       -1,    -1,   326,  5095,    -1,    -1,    -1,  6283,    98,  6471,
   17109             :     6472,    -1,    -1,    -1,  6290,    -1,    -1,    -1,    -1,    -1,
   17110             :     6269,    -1,  6298,    -1,    -1,  1572,    -1,    -1,    -1,    -1,
   17111             :     6306,    -1,    -1,    -1,  5126,    -1,  6312,    -1,    -1,    22,
   17112             :       -1,  6317,    -1,    -1,   368,    28,    -1,   371,   372,    -1,
   17113             :       -1,  6327,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6269,
   17114             :     6269,    -1,    -1,    -1,    -1,    -1,  1613,    -1,  6269,    -1,
   17115             :       -1,  5976,   162,  5126,    -1,    10,    -1,    -1,    13,   403,
   17116             :       -1,  6269,    17,    18,    19,    -1,    -1,  6363,  6364,  6365,
   17117             :     6366,    -1,    -1,    -1,    -1,  6371,    -1,    -1,    -1,  1646,
   17118             :     6376,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   199,
   17119             :       45,  6387,    -1,   197,  6390,    -1,    -1,    52,   202,    -1,
   17120             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17121             :       -1,    -1,    -1,    -1,  6410,    -1,    -1,    -1,    -1,    -1,
   17122             :       -1,   225,   226,    78,    -1,  6394,    -1,    -1,    -1,    -1,
   17123             :       -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,   249,
   17124             :       -1,  6437,  6438,    -1,    -1,    -1,  1713,    -1,    -1,   253,
   17125             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6454,    -1,
   17126             :        0,  1728,  1729,  1730,  6394,  6394,    -1,    -1,    -1,    -1,
   17127             :       -1,    -1,    -1,  6394,    -1,  6471,  6472,    -1,    -1,  6475,
   17128             :       -1,  6477,    -1,   293,    -1,    -1,  6394,    -1,    -1,    -1,
   17129             :       -1,    -1,   296,    -1,    -1,  5307,    -1,    -1,  6494,    -1,
   17130             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,
   17131             :       -1,    -1,    -1,    -1,    -1,    -1,  5328,   327,  6126,  6144,
   17132             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17133             :       -1,   207,    -1,    -1,  5307,    -1,    -1,    -1,    -1,    -1,
   17134             :      216,    -1,   197,  6151,    -1,    -1,    -1,   202,    -1,    -1,
   17135             :     5362,    -1,    -1,    -1,   230,  5328,    -1,    -1,    -1,    99,
   17136             :       -1,  1828,   372,    -1,   374,    -1,    -1,   377,    -1,    -1,
   17137             :      225,   226,    -1,  1840,    -1,    -1,   386,    -1,    -1,    -1,
   17138             :       -1,    -1,    17,    -1,  1851,   395,    -1,    -1,  5400,  5362,
   17139             :       -1,    26,    -1,   403,    -1,    -1,  1863,    -1,   253,    -1,
   17140             :     1867,    -1,    -1,    -1,   408,    -1,   416,    -1,    -1,    -1,
   17141             :       -1,    -1,    -1,   153,    -1,   425,    -1,    -1,    -1,  1886,
   17142             :      430,    -1,    -1,    -1,    -1,    -1,   166,  1894,    -1,    -1,
   17143             :       -1,    -1,   172,  5445,  6259,  1902,    -1,    -1,   178,    -1,
   17144             :     6265,   296,    -1,    -1,   184,    -1,    -1,   187,    -1,    -1,
   17145             :       -1,   191,    -1,    -1,  1921,    -1,    -1,   312,    -1,    -1,
   17146             :       -1,  6269,    -1,  1930,    -1,    -1,  1933,    -1,    -1,  1936,
   17147             :       -1,    -1,  1939,  1940,    -1,    -1,  1943,  1944,   488,  1946,
   17148             :     1947,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17149             :       -1,  1958,    -1,  1960,  1961,    -1,  5508,    -1,    -1,    -1,
   17150             :       -1,    -1,    -1,  1970,  1971,    -1,  1973,  1974,    -1,    -1,
   17151             :       -1,   515,    -1,    -1,   254,    -1,    -1,    -1,    -1,    -1,
   17152             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17153             :       -1,    -1,    -1,    -1,    -1,  5508,    -1,    -1,    -1,    -1,
   17154             :       -1,    -1,    -1,    -1,  2011,    -1,    -1,    -1,  2015,  2016,
   17155             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   17156             :       -1,    -1,    -1,    -1,    -1,  6390,   306,    -1,    -1,    -1,
   17157             :      310,    -1,    -1,    -1,    -1,  5587,   316,    -1,    -1,    -1,
   17158             :       -1,    -1,    -1,  2050,    -1,  2052,  6394,    -1,    -1,    -1,
   17159             :     2057,  2058,    -1,    -1,    -1,    -1,    -1,  2064,  2065,  2066,
   17160             :     2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,  2075,  2076,
   17161             :       -1,    -1,    -1,  2080,  5587,  2082,    -1,  2084,  2085,  2086,
   17162             :     2087,  2088,  2089,    -1,    -1,  2092,    -1,  2094,  2095,    -1,
   17163             :       -1,  2098,    -1,    -1,    -1,    -1,   376,    -1,    -1,    -1,
   17164             :       -1,    -1,    -1,    -1,    -1,  2112,  2113,  2114,  2115,    -1,
   17165             :       -1,    -1,    25,    -1,    -1,    -1,  4103,    -1,    31,    -1,
   17166             :      515,    -1,    -1,    -1,  2131,    -1,  2133,    -1,    -1,   524,
   17167             :      525,   526,   527,   528,   529,   530,   531,   532,  4125,  4126,
   17168             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   17169             :     4137,  4138,  4139,  4140,    38,   435,    -1,    -1,    -1,    -1,
   17170             :       -1,    -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,
   17171             :       -1,    -1,  4159,    -1,    -1,  5727,    60,    -1,    -1,    -1,
   17172             :       -1,    -1,    -1,    -1,    -1,   465,    -1,    -1,    -1,    -1,
   17173             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17174             :       -1,    -1,    86,  5755,    -1,    -1,    -1,    -1,  4195,  4196,
   17175             :      490,    -1,   492,   493,    -1,    -1,    -1,    -1,    -1,    -1,
   17176             :      133,    -1,    -1,    -1,    -1,    -1,    -1,   140,   112,   113,
   17177             :       -1,   144,    -1,    -1,   514,    -1,   120,    -1,    -1,    -1,
   17178             :       -1,    -1,  5755,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17179             :       -1,    -1,    -1,    -1,   534,  4242,    -1,   537,   538,   539,
   17180             :      173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   684,    -1,
   17181             :       -1,    -1,  2279,    -1,   690,    -1,   160,    -1,    -1,    -1,
   17182             :       -1,    10,    -1,    -1,    13,    -1,   702,    -1,    17,    18,
   17183             :       19,    -1,    -1,    -1,    -1,    -1,   209,    -1,   182,    -1,
   17184             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   17185             :       -1,    -1,    -1,    -1,    -1,    -1,    45,  5869,    -1,    -1,
   17186             :       -1,   205,    -1,    52,    -1,    -1,  2333,    -1,    -1,    -1,
   17187             :       -1,    25,    -1,    -1,    -1,    -1,   779,    31,   781,    -1,
   17188             :      783,    -1,    -1,    -1,    -1,    -1,   789,   790,   791,    78,
   17189             :       -1,    -1,    46,    -1,    -1,    -1,  5869,    -1,    -1,    -1,
   17190             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17191             :       -1,    -1,    -1,    -1,    -1,    -1,   289,    -1,    -1,   263,
   17192             :      293,    -1,    76,  2390,   268,    -1,    -1,    -1,    -1,   273,
   17193             :       -1,   304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17194             :       -1,   314,    -1,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17195             :       -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,    -1,    -1,
   17196             :       -1,    -1,    -1,    -1,  5976,    -1,    -1,    -1,    -1,    -1,
   17197             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   131,    -1,   133,
   17198             :       -1,   325,    -1,    -1,    -1,    -1,   140,    -1,    -1,    -1,
   17199             :      144,    -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,
   17200             :       -1,    -1,    -1,  5976,    -1,    51,    -1,    -1,   197,    -1,
   17201             :       -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,   173,
   17202             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   373,
   17203             :      403,    -1,    -1,   668,    -1,    -1,   225,   226,    -1,    -1,
   17204             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17205             :       -1,    -1,    -1,   397,    -1,   209,    -1,    -1,    -1,    -1,
   17206             :       -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,
   17207             :       -1,  6083,    -1,    -1,   418,    -1,   420,   980,    -1,   423,
   17208             :       -1,    -1,    -1,   718,   719,    -1,    -1,    -1,    -1,    -1,
   17209             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4546,
   17210             :       -1,    -1,    -1,   476,    -1,    -1,    -1,   296,  2575,  2576,
   17211             :     2577,  2578,  2579,  2580,  2581,  2582,  2583,    -1,  2585,    -1,
   17212             :       -1,    -1,    -1,   312,    -1,   469,   315,    -1,    -1,  2596,
   17213             :       -1,  2598,  6144,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17214             :     6152,  6153,    -1,    -1,    -1,    -1,    -1,  1050,    -1,    -1,
   17215             :      304,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17216             :      314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2636,
   17217             :       -1,  6144,   326,  2640,    -1,    -1,  2643,    -1,  2645,   814,
   17218             :       -1,  2648,    -1,    -1,    -1,  2652,    -1,    -1,    -1,    -1,
   17219             :       -1,    -1,   536,    -1,    -1,    -1,    -1,    -1,    -1,   834,
   17220             :       -1,    -1,    -1,    -1,    -1,    -1,  2673,   842,  2675,    -1,
   17221             :      845,   846,   847,    -1,   368,    -1,    -1,   371,   372,   408,
   17222             :       -1,    -1,    -1,    -1,    -1,  2692,    -1,    -1,    -1,    -1,
   17223             :       -1,    -1,    -1,    -1,  2701,  2702,    -1,    -1,    -1,    -1,
   17224             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  6259,    -1,   403,
   17225             :       -1,    -1,    -1,  6265,    -1,    -1,    -1,    -1,    -1,    -1,
   17226             :       -1,  2728,    -1,    -1,    -1,    -1,    -1,    -1,  2735,    -1,
   17227             :       -1,  6283,  2739,  2740,    -1,    -1,    -1,    -1,    -1,  2746,
   17228             :       -1,    -1,    -1,  2750,    -1,    -1,  6259,  2754,    -1,    -1,
   17229             :       -1,    -1,  6265,    -1,    -1,    -1,  2763,    -1,    -1,    -1,
   17230             :       -1,    -1,    -1,    -1,    -1,    -1,    25,    -1,    -1,    -1,
   17231             :       -1,  2778,    31,    -1,  2781,    -1,    -1,    -1,    -1,    -1,
   17232             :       -1,    -1,   476,    -1,    -1,  2792,   515,  2794,  2795,  4776,
   17233             :     2797,  2798,    -1,  2800,    -1,   524,   525,   526,   527,   528,
   17234             :      529,   530,   531,   532,    -1,  2812,    -1,    -1,   537,    -1,
   17235             :       -1,   540,    -1,  6365,    -1,    -1,    -1,    76,    -1,    -1,
   17236             :       -1,    -1,    -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,
   17237             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6390,    -1,
   17238             :       -1,  2848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17239             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17240             :       -1,    -1,    -1,  2870,  2871,    -1,    -1,  2874,    -1,    -1,
   17241             :       -1,    -1,    -1,    -1,   133,  1050,    -1,  6390,    -1,    -1,
   17242             :       -1,   140,    -1,    -1,    -1,   144,  6438,    -1,    -1,    -1,
   17243             :       -1,  2898,    -1,  2900,    -1,    -1,    -1,  2904,    -1,    -1,
   17244             :       -1,    -1,  6454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17245             :       -1,  2918,    -1,    -1,   173,    -1,    -1,    -1,  2925,  6471,
   17246             :     6472,  2928,    -1,    -1,    25,    -1,    -1,  2934,    -1,    -1,
   17247             :       31,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17248             :       -1,    17,    18,    19,    -1,    -1,    -1,  2954,    -1,    -1,
   17249             :      209,    -1,    -1,  2960,    -1,    -1,    -1,    -1,    -1,    35,
   17250             :     2967,  1404,    -1,    -1,    -1,    -1,  1409,  1410,    -1,    45,
   17251             :       -1,    -1,    -1,    -1,  2981,    76,    52,    -1,    -1,    -1,
   17252             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2995,    -1,
   17253             :       -1,    -1,    -1,  3000,  1437,    -1,    -1,    -1,    -1,  3006,
   17254             :       -1,    -1,    78,  1446,    -1,  1448,    -1,    -1,    -1,  1452,
   17255             :       -1,    -1,    -1,    -1,    -1,    -1,  1459,  3024,  3025,  3026,
   17256             :       -1,    -1,    -1,  3030,    -1,    -1,    -1,    -1,    -1,    -1,
   17257             :      289,    -1,   133,    -1,   293,    -1,    -1,    -1,    -1,   140,
   17258             :       -1,    -1,    -1,   144,    -1,   304,    -1,    -1,    -1,    -1,
   17259             :     3057,  3058,    -1,    -1,    -1,   314,    -1,    -1,    -1,  3066,
   17260             :       -1,    -1,    -1,    -1,    -1,    -1,  1241,   326,    -1,    -1,
   17261             :       -1,    -1,   173,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17262             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17263             :       -1,    -1,  3099,  1268,    -1,    -1,    -1,    -1,    -1,    -1,
   17264             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1550,   209,   368,
   17265             :       -1,    -1,   371,   372,    -1,    -1,    -1,  1560,    -1,    -1,
   17266             :       -1,   197,    -1,    -1,  3131,    -1,   202,    -1,  3135,    -1,
   17267             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17268             :       -1,    -1,   728,    -1,   403,    -1,    -1,    -1,    -1,   225,
   17269             :      226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17270             :       -1,  1604,  1605,    -1,    -1,    -1,    -1,    -1,   754,    -1,
   17271             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,
   17272             :       -1,    -1,  1357,    -1,    -1,    -1,    -1,    -1,   289,    -1,
   17273             :       -1,  1366,   293,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17274             :       -1,    -1,    -1,   304,  1647,    -1,    -1,  1382,  1651,  1652,
   17275             :       -1,    -1,    -1,   314,  3221,    -1,  3223,   476,    -1,    -1,
   17276             :      296,    -1,    -1,    -1,    -1,   326,  1401,    -1,    -1,  1404,
   17277             :     1405,  3238,    -1,  3240,  1409,  1410,   312,    -1,    -1,   315,
   17278             :     3247,    -1,    -1,    -1,  3251,    -1,  3253,  3254,    -1,  3256,
   17279             :     3257,  3258,    -1,    -1,    -1,    -1,    -1,  5244,    -1,  3266,
   17280             :       -1,    -1,    -1,    -1,  3271,    -1,    -1,   368,    -1,    -1,
   17281             :      371,   372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17282             :       -1,  3288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17283             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1713,    -1,    -1,
   17284             :       -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17285             :     5297,   897,    -1,  3320,  3321,  3322,    -1,    -1,  3325,    -1,
   17286             :       -1,    -1,    -1,    -1,    -1,    -1,  3333,  3334,  3335,  3336,
   17287             :       -1,    -1,   408,    -1,    -1,    -1,    -1,  3344,    -1,    -1,
   17288             :       -1,    -1,  3349,  3350,    -1,  3352,    -1,  3354,    -1,    -1,
   17289             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3366,
   17290             :     3367,    25,    -1,  3370,    -1,    -1,    -1,    31,    -1,    -1,
   17291             :       -1,    -1,    -1,    -1,    -1,   476,    -1,    -1,    -1,    -1,
   17292             :       -1,    25,    -1,    -1,  3391,    -1,  3393,    31,  3395,    -1,
   17293             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17294             :       -1,    -1,  1845,    -1,    -1,    -1,    -1,  3414,    -1,    -1,
   17295             :       -1,    25,    76,    -1,    -1,    -1,    -1,    31,    -1,    -1,
   17296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3435,    -1,
   17297             :       -1,    -1,    76,    -1,    -1,    -1,    -1,    -1,    -1,   515,
   17298             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17299             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,    -1,
   17300             :       -1,    -1,    76,    -1,   540,  3472,    -1,    -1,  3475,   133,
   17301             :     1886,    -1,    -1,    -1,  1060,    -1,   140,    -1,  1894,    -1,
   17302             :      144,    51,  3489,    -1,    -1,  1071,  1902,  3494,    -1,   133,
   17303             :       -1,  1666,    -1,    -1,    -1,    -1,   140,    -1,    -1,  1674,
   17304             :      144,  1087,  3509,    -1,    -1,    -1,    -1,    -1,    -1,   173,
   17305             :       -1,    -1,    -1,    -1,    -1,    -1,  3523,    -1,    -1,   133,
   17306             :       -1,    -1,    -1,    -1,  3531,    -1,   140,    -1,    -1,   173,
   17307             :      144,  1947,    -1,    -1,    -1,    -1,  3543,    -1,    -1,  3546,
   17308             :        0,  3548,    -1,    -1,    -1,   209,  3553,    -1,    -1,    -1,
   17309             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1974,   173,
   17310             :       20,  3568,  3569,    -1,    -1,   209,    -1,  3574,    -1,    -1,
   17311             :       -1,    31,  5559,    33,    34,    -1,    -1,    -1,    -1,    -1,
   17312             :       -1,    -1,  3589,    -1,    -1,  3592,    -1,    -1,  3595,    -1,
   17313             :       -1,    51,    -1,    -1,    -1,   209,  3603,    -1,    -1,    -1,
   17314             :       -1,    61,    -1,  5590,    -1,    -1,    -1,    -1,    -1,    -1,
   17315             :       -1,    -1,    -1,    73,    -1,    75,    76,  2060,  2061,    -1,
   17316             :       -1,  3628,    82,    -1,    84,   289,    -1,  3634,    -1,   293,
   17317             :       -1,    -1,    -1,    -1,  2077,  2078,    -1,    97,    -1,    99,
   17318             :      304,    -1,    -1,    -1,    -1,   289,    -1,    -1,    -1,   293,
   17319             :      314,    -1,    -1,    -1,    -1,    -1,   116,    -1,  1244,   119,
   17320             :      304,    -1,   326,    -1,    -1,  2108,    -1,  3674,  3675,  3676,
   17321             :      314,    -1,    -1,    -1,   134,   289,   136,    -1,    -1,   293,
   17322             :      140,    -1,   326,    -1,    -1,    -1,    -1,   147,    -1,    -1,
   17323             :      304,    -1,  3699,    -1,    -1,    -1,    -1,   157,    -1,   159,
   17324             :      314,  3708,    -1,  3710,   368,    -1,   166,   371,   372,    -1,
   17325             :       -1,  3718,   326,    -1,  1889,    -1,    -1,    -1,  1893,    -1,
   17326             :       -1,    -1,    -1,    -1,   184,    -1,    -1,   371,   372,    -1,
   17327             :       -1,    -1,    -1,  3740,    -1,    -1,    -1,    -1,    -1,   403,
   17328             :       -1,   201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17329             :       -1,    -1,    -1,    -1,   368,    -1,    -1,   371,   372,   403,
   17330             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17331             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
   17332             :       18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   403,
   17333             :       -1,    -1,    -1,    -1,    -1,   255,   256,    35,    -1,  3806,
   17334             :       -1,   261,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,
   17335             :       -1,    -1,   476,    -1,    52,    -1,   276,    -1,  1404,    -1,
   17336             :       -1,    -1,    -1,  3830,    -1,    -1,    -1,    -1,  3835,    -1,
   17337             :       -1,    -1,   476,    -1,  3841,   295,    -1,    -1,    -1,    -1,
   17338             :       78,    -1,    -1,  3850,    -1,    -1,    -1,    -1,    -1,    -1,
   17339             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5844,    -1,    -1,
   17340             :       -1,    -1,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17341             :     3877,  3878,    -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,
   17342             :       -1,    -1,    -1,    -1,   344,    -1,    -1,    -1,  2063,    -1,
   17343             :       -1,  3898,    -1,  3900,    -1,    -1,    -1,    -1,    -1,   359,
   17344             :       -1,    -1,    -1,    -1,   364,   365,    -1,   367,    -1,    -1,
   17345             :       -1,    -1,   372,  3920,    -1,    -1,    -1,    -1,   378,  1505,
   17346             :       -1,   381,    -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,
   17347             :       -1,    -1,    -1,    -1,    -1,   395,   396,    -1,    -1,  3946,
   17348             :       -1,    -1,    -1,   403,    -1,    -1,    -1,   407,    -1,    -1,
   17349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,   197,
   17350             :     3967,  3968,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,
   17351             :       -1,    -1,    -1,    -1,    -1,   435,    -1,    -1,    -1,    -1,
   17352             :       -1,    -1,    -1,  3990,    -1,    -1,  1572,   225,   226,    -1,
   17353             :       -1,    -1,    -1,    -1,    -1,    -1,   456,    -1,    -1,    -1,
   17354             :       -1,    -1,  4009,    -1,    -1,    -1,    -1,    -1,   468,    -1,
   17355             :       -1,    -1,    -1,    -1,   474,   253,    -1,    -1,    -1,   479,
   17356             :       -1,  4028,    -1,    -1,    -1,  4032,    -1,  1613,    -1,    -1,
   17357             :       -1,    -1,    -1,   493,    -1,    -1,    -1,    -1,    -1,    -1,
   17358             :       -1,    -1,    -1,    -1,    -1,    51,  4053,    -1,    -1,    -1,
   17359             :       -1,    -1,    -1,    -1,    -1,  6042,    -1,   517,   296,    -1,
   17360             :     1646,    -1,  4069,    -1,    -1,  4072,    -1,    -1,    -1,    -1,
   17361             :       -1,  4078,    -1,    -1,   312,    -1,   536,   315,    -1,   539,
   17362             :       -1,    -1,    -1,    -1,    -1,  4092,    -1,    -1,    -1,  4096,
   17363             :     4097,  4098,    -1,    -1,    -1,    -1,  4103,    -1,    -1,  4106,
   17364             :       -1,    -1,  4109,    -1,    -1,    -1,    -1,    -1,  4115,    -1,
   17365             :     4117,    -1,    -1,  4120,    -1,    -1,    -1,  4124,  4125,  4126,
   17366             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   17367             :     4137,  4138,  4139,  4140,    -1,    -1,    -1,  4144,  4145,  4146,
   17368             :       -1,    -1,  4149,    -1,    -1,    -1,    -1,  4154,    -1,    -1,
   17369             :       -1,    -1,  4159,    -1,  4161,    -1,  4163,    -1,   728,    -1,
   17370             :       -1,    -1,    -1,    -1,  4171,    -1,    -1,  4174,    -1,  4176,
   17371             :      408,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17372             :       -1,    17,    18,    19,   754,  4192,    -1,    -1,  4195,  4196,
   17373             :       -1,    -1,    -1,  4200,  4201,    -1,    -1,    -1,  4205,    35,
   17374             :     4207,    -1,  6189,  6190,    -1,    -1,  6193,    -1,    -1,    45,
   17375             :       -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
   17376             :     2663,  2664,    -1,    -1,    -1,    -1,  2669,    -1,    -1,  4236,
   17377             :       -1,    -1,    -1,    -1,    -1,  4242,    -1,    -1,    -1,    -1,
   17378             :       -1,    -1,    78,  4250,    -1,    -1,    -1,  4254,    -1,    -1,
   17379             :       -1,    -1,    -1,    -1,  1840,    -1,    -1,    -1,  2701,  2702,
   17380             :       -1,    -1,    -1,    -1,    -1,  1851,    -1,    -1,    -1,    -1,
   17381             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   17382             :     4287,  1867,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   17383             :      528,   529,   530,   531,   532,    -1,    -1,  4304,    -1,    -1,
   17384             :       -1,    -1,   540,  4310,    -1,    -1,    -1,    -1,    -1,    -1,
   17385             :       -1,    -1,  2728,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17386             :     2763,    -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,  4336,
   17387             :     2746,    -1,    -1,    -1,  2750,  1921,    -1,    -1,  2754,    -1,
   17388             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17389             :     1936,    -1,  4359,  1939,  1940,    -1,    -1,    -1,    -1,    -1,
   17390             :       -1,   197,  2778,    -1,    -1,    -1,   202,    10,    -1,    -1,
   17391             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   17392             :       -1,    -1,    -1,    -1,  1970,  1971,    -1,    -1,    -1,   225,
   17393             :      226,    -1,    35,  4400,    -1,    -1,  2812,    -1,  4405,  4406,
   17394             :     4407,    -1,    45,    -1,    -1,    -1,    -1,    -1,  2851,    52,
   17395             :       -1,    -1,    -1,    -1,    -1,    -1,  2832,   253,    -1,    -1,
   17396             :       -1,    -1,    -1,    -1,    -1,    -1,  4433,  4434,    -1,    -1,
   17397             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    10,
   17398             :     2615,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   17399             :       -1,    -1,    -1,    -1,    -1,  2871,    -1,    -1,    -1,    -1,
   17400             :      296,    -1,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
   17401             :       -1,  1041,  4479,    -1,    45,  4482,   312,    -1,    -1,   315,
   17402             :       -1,    52,  2898,    -1,    -1,    -1,    -1,    -1,  2904,    -1,
   17403             :     1060,    -1,    -1,    -1,    -1,    -1,    -1,  2940,    -1,    -1,
   17404             :       -1,  1071,  2918,    -1,    -1,  2948,    -1,    78,  2951,  2925,
   17405             :       -1,    -1,  2928,    -1,    -1,    -1,    -1,  1087,  2934,    -1,
   17406             :     2963,    -1,    -1,    -1,    -1,    -1,  2112,    -1,    -1,    -1,
   17407             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2954,  4546,
   17408             :       -1,    -1,    -1,    -1,  2960,    -1,    -1,    -1,    -1,    -1,
   17409             :       -1,  2967,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   17410             :       -1,    -1,    -1,    -1,    -1,  2981,  4573,  4574,    -1,    -1,
   17411             :     4577,    -1,   408,    -1,    -1,    -1,    -1,  4584,    -1,  2995,
   17412             :       -1,    -1,   225,   226,  4591,  4592,    -1,    -1,  2763,    -1,
   17413             :     3006,    -1,    -1,    -1,  4601,    -1,    -1,    -1,    -1,    -1,
   17414             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17415             :      253,    -1,    -1,    -1,    -1,    -1,    -1,  4624,    -1,    -1,
   17416             :       -1,    -1,  4629,  4630,  4631,    -1,   197,    -1,    -1,    -1,
   17417             :       -1,   202,    -1,    -1,  4641,    -1,    -1,    -1,    -1,    -1,
   17418             :       -1,    -1,    -1,    -1,  2819,    -1,    -1,    -1,    -1,    -1,
   17419             :       -1,    -1,    -1,   296,   225,   226,    -1,    -1,    -1,    -1,
   17420             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   17421             :       -1,    -1,   315,    -1,  1244,  4682,    -1,    -1,  4685,   515,
   17422             :       -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17423             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,    -1,
   17424             :       -1,   537,    -1,    -1,  4711,    -1,    25,    -1,    -1,    -1,
   17425             :       -1,    -1,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17426             :     4727,    -1,   728,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   17427             :       -1,  2906,    -1,    -1,    -1,    -1,    -1,    -1,  4745,    -1,
   17428             :       -1,   312,    -1,    -1,   315,    -1,    -1,    -1,   754,    -1,
   17429             :       -1,    -1,    -1,    -1,    -1,  2930,    -1,    76,    -1,    -1,
   17430             :       -1,    -1,    -1,    -1,    -1,   408,  4773,  3210,    -1,  4776,
   17431             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4784,  4785,    -1,
   17432             :     4787,    -1,    -1,    -1,  4791,  4792,    -1,    -1,    -1,  4796,
   17433             :       -1,    -1,    -1,    -1,  4801,    -1,    -1,  4804,  4805,    -1,
   17434             :       -1,    -1,    -1,    -1,  4811,  3221,    -1,    -1,    -1,    -1,
   17435             :       -1,    -1,    -1,    -1,   133,    -1,    -1,    -1,    -1,  2994,
   17436             :       -1,   140,    -1,  2998,  3240,   144,  4833,    -1,    -1,    -1,
   17437             :       -1,  3247,    -1,  4840,    -1,    -1,    -1,   408,  4845,    -1,
   17438             :       -1,  4848,  4849,    -1,    -1,    -1,    -1,    -1,    -1,  4856,
   17439             :       -1,    -1,    -1,    -1,   173,    -1,    -1,    -1,    -1,    -1,
   17440             :     3035,    -1,  3037,    -1,  3039,  3040,    -1,    -1,  4875,  3044,
   17441             :     3045,  3046,   515,  3048,  3049,  3050,    -1,    -1,    -1,    -1,
   17442             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17443             :      209,   897,    -1,    -1,   537,    -1,    -1,  4904,    -1,    -1,
   17444             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17445             :     4917,    -1,    -1,    -1,    -1,  4922,    -1,    -1,    -1,    -1,
   17446             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3102,    -1,    -1,
   17447             :       -1,    -1,    -1,    -1,    -1,  1505,    -1,    -1,    -1,    -1,
   17448             :       -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   17449             :       -1,  4958,  3127,   524,   525,   526,   527,   528,   529,   530,
   17450             :      531,   532,    -1,    -1,    -1,    -1,   537,    -1,  4975,    10,
   17451             :      289,    -1,    13,  4980,   293,    -1,    17,    18,    19,    -1,
   17452             :     4987,    -1,    -1,    -1,    -1,   304,    -1,    -1,    -1,    -1,
   17453             :     3433,    -1,  3435,    -1,    35,   314,  5003,    -1,    -1,    -1,
   17454             :       -1,    -1,  1572,  5010,    45,    -1,    -1,   326,  3451,    -1,
   17455             :       -1,    52,    -1,    -1,  5021,    -1,    -1,    -1,    -1,    -1,
   17456             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17457             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
   17458             :       -1,    -1,    -1,  1613,    -1,  5052,    -1,    -1,    -1,   368,
   17459             :       -1,    -1,   371,   372,  1060,    -1,    -1,    -1,  3501,  3502,
   17460             :       -1,    -1,    -1,    -1,    -1,  1071,    -1,    -1,    -1,    -1,
   17461             :       -1,  5078,    -1,    -1,    -1,    -1,  1646,    -1,    -1,    -1,
   17462             :       -1,  1087,    -1,    -1,   403,    -1,    -1,    -1,  5095,    62,
   17463             :       -1,    -1,    -1,  5100,    -1,    -1,    -1,    -1,    -1,    -1,
   17464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17465             :       -1,    -1,  5119,    -1,    -1,    -1,    -1,    -1,    -1,  5126,
   17466             :       -1,    -1,    -1,    -1,    -1,    98,    -1,    -1,    -1,    -1,
   17467             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17468             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2735,
   17469             :       -1,    -1,    -1,  2739,  2740,    -1,   197,   476,  1728,  1729,
   17470             :     1730,   202,    -1,    -1,    -1,  5172,    -1,  5174,    -1,    -1,
   17471             :       -1,    -1,    -1,  3589,    -1,    -1,    23,    -1,    -1,    -1,
   17472             :       -1,    28,    -1,    -1,   225,   226,    -1,    -1,    -1,   162,
   17473             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5205,    -1,
   17474             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,    -1,
   17475             :       -1,    -1,   253,    -1,  2800,    -1,    -1,    -1,    -1,    66,
   17476             :       -1,    -1,    -1,    -1,  5231,    -1,   199,    -1,    -1,    -1,
   17477             :       -1,    -1,    79,    -1,  5241,    -1,    -1,  5244,  1244,    -1,
   17478             :     5247,  5248,  5249,    -1,    -1,    -1,    -1,    -1,    -1,    96,
   17479             :       -1,    -1,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   17480             :     3435,    -1,  2848,    -1,    -1,  5272,  5273,   114,    -1,  5276,
   17481             :     1840,   312,    -1,    -1,   315,    -1,   249,    -1,    -1,    -1,
   17482             :       -1,  1851,    -1,  3699,    -1,    -1,  5293,    -1,    -1,    -1,
   17483             :     5297,   138,    -1,    -1,    -1,    -1,  5303,  1867,    -1,    -1,
   17484             :     5307,    -1,    -1,    -1,    -1,   152,  5313,  5314,    -1,    -1,
   17485             :       -1,    -1,    -1,    -1,   161,  5322,   289,    -1,    -1,    -1,
   17486             :      293,  5328,    -1,    -1,  5331,    -1,    -1,   174,    -1,    -1,
   17487             :     5337,    -1,  5339,   180,    -1,    -1,    -1,    -1,    -1,    -1,
   17488             :      187,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17489             :       -1,  1921,    -1,   326,   327,  5362,    -1,    -1,    -1,    -1,
   17490             :      207,    -1,    -1,    -1,    -1,    -1,  1936,   408,    -1,  1939,
   17491             :     1940,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17492             :       -1,    -1,  5389,  5390,    -1,    -1,    -1,    -1,    -1,    -1,
   17493             :       -1,    -1,    -1,  5400,    -1,   368,    -1,    -1,    -1,   372,
   17494             :     1970,  1971,    -1,    -1,   377,    -1,    -1,    -1,    -1,    -1,
   17495             :       -1,    -1,    -1,   386,  3830,    -1,    -1,  3592,    -1,    -1,
   17496             :      267,    -1,   395,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17497             :      403,    -1,    -1,  5440,    -1,  3878,    -1,    -1,  5445,    -1,
   17498             :       -1,    -1,    -1,   416,    -1,    -1,    -1,    -1,    -1,    -1,
   17499             :       -1,    -1,   425,    -1,    -1,    -1,    -1,   430,  3901,    -1,
   17500             :       -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,    -1,    -1,
   17501             :       -1,    -1,  3058,    -1,   515,    -1,    -1,    -1,   325,    -1,
   17502             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   17503             :      531,   532,   339,    -1,    -1,    -1,   537,    -1,    -1,  1505,
   17504             :     2070,  5508,   349,   350,  5511,  3680,   353,    -1,    -1,    -1,
   17505             :       -1,    -1,    -1,    -1,  2084,   488,    -1,  2087,    -1,    -1,
   17506             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17507             :       -1,    -1,    -1,   380,    -1,  5542,   383,    -1,    -1,    -1,
   17508             :      387,    -1,  2112,   390,    -1,  3131,    -1,    -1,    -1,  3135,
   17509             :      397,    -1,  5559,   400,    -1,    -1,  5563,    -1,  5565,    -1,
   17510             :       -1,    -1,    -1,  3738,    -1,    -1,  1572,    -1,    -1,    -1,
   17511             :       -1,    -1,  5579,   420,    -1,    -1,    -1,    -1,    -1,    -1,
   17512             :     5587,   428,    -1,  5590,    -1,    -1,    -1,    -1,   435,    -1,
   17513             :       -1,   438,    -1,  4009,  5601,    -1,   443,    -1,    -1,    -1,
   17514             :       -1,  5608,    -1,    -1,   451,    -1,   453,  1613,    -1,    -1,
   17515             :       -1,   458,  4028,    -1,    -1,  4058,  4032,    -1,    -1,    -1,
   17516             :       -1,    -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,    -1,
   17517             :       -1,    -1,    -1,  3808,    -1,    -1,    -1,    -1,   485,    -1,
   17518             :     1646,    -1,    -1,    -1,    62,    -1,    -1,    -1,    -1,    -1,
   17519             :       -1,    -1,  3238,  5660,    -1,    -1,    -1,    -1,    -1,  5666,
   17520             :       -1,    -1,    -1,    -1,  5671,  5672,    -1,  3253,    -1,  5676,
   17521             :       -1,    -1,  3258,    -1,    -1,  5682,  5683,  5684,    -1,    -1,
   17522             :       98,  3856,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17523             :       -1,  5698,     8,  3868,  3869,    -1,    -1,    -1,    14,    15,
   17524             :       -1,    -1,  3288,  3878,    20,    -1,    22,    -1,  3883,    -1,
   17525             :     3885,  5718,    28,    -1,    30,    -1,    -1,    -1,    -1,    -1,
   17526             :     5727,    -1,    -1,  5730,    -1,    -1,    -1,    -1,    -1,    -1,
   17527             :       -1,    -1,    -1,    49,    50,    -1,    -1,    -1,    -1,    -1,
   17528             :       -1,    -1,    -1,    -1,   162,    -1,    -1,    -1,  5755,    -1,
   17529             :       -1,    -1,    -1,    -1,    -1,    -1,  3931,    -1,    -1,    -1,
   17530             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17531             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5784,  5785,    -1,
   17532             :       -1,   199,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17533             :       -1,  3966,  3967,    17,    18,    19,    -1,    -1,    -1,    -1,
   17534             :       -1,  5808,  5809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17535             :       -1,    35,    -1,  5820,    -1,    -1,    -1,    -1,    -1,    -1,
   17536             :       -1,    45,  5829,  5830,  5831,    -1,    -1,    -1,    52,    -1,
   17537             :       -1,   249,    -1,    -1,  1840,    -1,    -1,  5844,  5845,    -1,
   17538             :       -1,  5848,    -1,    -1,    -1,  1851,  5853,    -1,  5855,    -1,
   17539             :     5857,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   17540             :       -1,  1867,  5869,    -1,    -1,    -1,    -1,    -1,    -1,  5876,
   17541             :       -1,   289,    -1,    -1,    -1,   293,    -1,    -1,    -1,    -1,
   17542             :       -1,    -1,    -1,    -1,   200,    -1,    -1,    -1,   204,  5896,
   17543             :       -1,    -1,    -1,    -1,    -1,    -1,   212,    -1,    -1,   215,
   17544             :       -1,    -1,   218,   219,    -1,   221,    -1,   223,   326,   327,
   17545             :      226,    -1,   228,    -1,  5921,  1921,    -1,  5924,    -1,    -1,
   17546             :     4336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17547             :     1936,    -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,    -1,
   17548             :       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17549             :      368,    -1,    -1,    -1,   372,    -1,    -1,  3543,    -1,   377,
   17550             :     3546,    -1,  3548,  4406,  1970,  1971,    -1,  3553,   386,  5976,
   17551             :       -1,    -1,    -1,   197,    -1,    -1,    -1,   395,   202,    -1,
   17552             :       -1,    -1,    -1,    -1,    -1,   403,    51,    -1,    -1,    -1,
   17553             :       -1,  4434,    -1,    -1,    -1,  4170,    -1,    -1,   416,    -1,
   17554             :       -1,   225,   226,    -1,    -1,  4448,    -1,   425,    -1,  3595,
   17555             :       -1,    -1,   430,    -1,    -1,    -1,  4459,  3603,    -1,    -1,
   17556             :     6027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2598,   253,
   17557             :       -1,    -1,    -1,    -1,    -1,  6042,    -1,    -1,    -1,    -1,
   17558             :       -1,    -1,  3628,    -1,    -1,  6052,    -1,    -1,    -1,    -1,
   17559             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17560             :       -1,    -1,  6069,  4479,    -1,    -1,  4482,    -1,    -1,    -1,
   17561             :      488,    -1,   296,    -1,    -1,    -1,  6083,    -1,    -1,    -1,
   17562             :       -1,    -1,    -1,    -1,    -1,    -1,  6093,    -1,   312,    -1,
   17563             :       -1,   315,  4535,  4536,    10,    -1,    -1,    13,    -1,    -1,
   17564             :       -1,    17,    18,    19,    -1,    -1,  2112,    -1,    -1,    -1,
   17565             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
   17566             :       -1,    -1,  3708,    -1,  3710,    -1,    -1,  6134,    -1,    45,
   17567             :       -1,    -1,    -1,    -1,    -1,    -1,    52,  6144,    -1,    -1,
   17568             :       -1,    -1,    -1,    -1,    -1,  6152,  6153,    -1,    -1,    -1,
   17569             :       -1,  6158,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17570             :       -1,    -1,    78,    -1,    -1,  2735,    -1,    -1,  4584,  2739,
   17571             :     2740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17572             :       -1,  4624,  6189,  6190,   408,  4601,  6193,    -1,    -1,    -1,
   17573             :       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
   17574             :       -1,    17,    18,    19,    51,    -1,    -1,    -1,    -1,    -1,
   17575             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,
   17576             :     3806,    -1,    -1,    -1,  2794,    -1,  6233,    -1,    -1,    45,
   17577             :     2800,  4406,    -1,    -1,  4677,    -1,    52,    51,    -1,    -1,
   17578             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17579             :       -1,    -1,  6259,    -1,    -1,    -1,    -1,    -1,  6265,  4434,
   17580             :       -1,    -1,    78,    -1,  3850,    -1,  4682,    -1,    -1,    -1,
   17581             :       -1,    -1,    -1,    -1,  4449,    -1,  6283,  4452,  2848,  4454,
   17582             :       -1,   197,    -1,  6290,    -1,    -1,   202,    -1,    -1,    -1,
   17583             :       -1,   515,  3878,    -1,    -1,    -1,    -1,    -1,    -1,  6306,
   17584             :      524,   525,   526,   527,   528,   529,   530,   531,   532,   225,
   17585             :      226,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   17586             :     6327,    -1,    -1,    -1,    -1,  4500,    -1,    -1,    -1,    -1,
   17587             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,
   17588             :       -1,  4516,    -1,    -1,    -1,    -1,  4521,    -1,    -1,    -1,
   17589             :      666,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6365,    -1,
   17590             :     3946,   677,    -1,  6370,    -1,   681,    -1,    -1,    -1,  6376,
   17591             :       -1,    -1,   688,   689,    -1,    -1,   692,    -1,   694,   695,
   17592             :      296,   197,  3968,  6390,    -1,    -1,   202,    -1,    -1,    -1,
   17593             :     6397,    -1,    -1,   709,    -1,    -1,   312,    -1,    -1,   315,
   17594             :       -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,    -1,   225,
   17595             :      226,   727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17596             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17597             :     6437,  6438,   748,    -1,   750,    -1,    -1,   253,    -1,    -1,
   17598             :       -1,    -1,    -1,    -1,   760,    -1,  4621,  6454,    -1,  4624,
   17599             :       -1,  6458,    -1,    -1,    -1,    -1,  3026,    -1,    -1,    -1,
   17600             :       -1,    -1,    -1,    -1,  6471,  6472,    -1,    -1,    -1,    -1,
   17601             :       -1,    -1,    -1,    -1,    -1,    -1,  6483,   793,    -1,    -1,
   17602             :      296,    -1,    -1,    -1,    -1,    -1,  4072,    -1,  3058,    -1,
   17603             :       -1,    -1,   408,    -1,    -1,    -1,   312,  4940,    -1,   315,
   17604             :       -1,    -1,    -1,  4946,    -1,    -1,    -1,    -1,  4951,    -1,
   17605             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17606             :       -1,    -1,    -1,    -1,    -1,  4700,  4701,  4702,  4703,    -1,
   17607             :     4705,  4706,  4707,  4708,  4709,  4978,  4979,    -1,  4124,    -1,
   17608             :     4983,  4984,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17609             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   874,  4975,
   17610             :       -1,  3131,    -1,  4149,    -1,  3135,    -1,    -1,    -1,    -1,
   17611             :       -1,  4987,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17612             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17613             :       -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,   515,
   17614             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17615             :      526,   527,   528,   529,   530,   531,   532,    -1,   728,    -1,
   17616             :       -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17617             :       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
   17618             :       -1,    -1,    -1,   959,   754,    -1,    -1,    -1,  4823,    -1,
   17619             :     4825,    10,    -1,    -1,    13,    35,    -1,    -1,    17,    18,
   17620             :       19,    -1,    -1,   728,    -1,    45,    -1,    -1,  3238,    -1,
   17621             :       -1,    -1,    52,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   17622             :       -1,    -1,    -1,  3253,    -1,    -1,    45,    -1,  3258,   754,
   17623             :       -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    78,   515,
   17624             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,   525,
   17625             :      526,   527,   528,   529,   530,   531,   532,  1033,  3288,    78,
   17626             :       -1,   537,    -1,    -1,  4310,    -1,    -1,    -1,    -1,  2735,
   17627             :       -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,    -1,    -1,
   17628             :       -1,    -1,  1058,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17629             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1073,    -1,  1075,
   17630             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1085,
   17631             :       -1,    -1,    -1,    -1,    -1,    -1,  1092,    -1,    -1,    -1,
   17632             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,  2794,  5205,
   17633             :       -1,    -1,    -1,    -1,  2800,    -1,    -1,    -1,    -1,    -1,
   17634             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17635             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,  1135,
   17636             :     4406,  1137,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17637             :       -1,    -1,   897,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   17638             :       -1,    -1,  2848,   202,    -1,   225,   226,    -1,  4434,    -1,
   17639             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17640             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   17641             :       -1,    -1,    -1,   253,    -1,  5050,  5051,    -1,    -1,    -1,
   17642             :       -1,   728,    -1,    -1,    -1,    -1,    -1,    -1,  5063,    -1,
   17643             :     5065,  5066,  5067,    -1,   253,  1211,    -1,  1213,    -1,  1215,
   17644             :       -1,  1217,    -1,  1219,  1220,  1221,    -1,   754,    -1,    -1,
   17645             :     1226,    -1,    -1,    -1,   728,    -1,   296,    10,    -1,    -1,
   17646             :       13,  5337,  1238,  5339,    17,    18,    19,    -1,    -1,    -1,
   17647             :       -1,    -1,   312,    -1,    -1,   315,    -1,   296,    -1,    -1,
   17648             :      754,    -1,    35,    -1,    -1,    -1,  5389,    -1,    -1,    -1,
   17649             :     1060,    -1,    45,   312,    -1,    -1,   315,  5132,    -1,    52,
   17650             :       -1,  1071,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17651             :       -1,    -1,    10,  3543,    -1,    13,  3546,  1087,  3548,    17,
   17652             :       18,    19,    -1,  3553,    -1,    78,    -1,    -1,    -1,    -1,
   17653             :       -1,  4577,    -1,    -1,    -1,  1060,  5171,    35,    -1,    -1,
   17654             :       -1,    -1,    -1,    -1,    -1,    -1,  1071,    45,    -1,    -1,
   17655             :       -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,
   17656             :       -1,    -1,  1087,    -1,    -1,  3595,    -1,    -1,   408,    -1,
   17657             :       -1,    -1,    -1,  3603,    -1,    -1,    -1,    -1,  4624,  5214,
   17658             :       78,    -1,    -1,  4629,    -1,    -1,    -1,    10,    -1,   408,
   17659             :       13,    -1,  3058,    -1,    17,    18,    19,    -1,  3628,    -1,
   17660             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17661             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17662             :       -1,    -1,    45,   897,    -1,    -1,    -1,    -1,    -1,    52,
   17663             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17664             :       -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   17665             :     1426,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   17666             :       -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,  3135,
   17667             :       -1,    -1,   225,   226,  1244,   515,    -1,    -1,  3708,    -1,
   17668             :     3710,    -1,    -1,    -1,   524,   525,   526,   527,   528,   529,
   17669             :      530,   531,   532,    -1,    -1,    -1,   515,   537,    -1,   197,
   17670             :      253,    -1,    -1,    -1,   202,   524,   525,   526,   527,   528,
   17671             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,  1244,
   17672             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,
   17673             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17674             :       -1,  4787,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   17675             :       -1,    -1,    -1,  1060,  5389,   253,    -1,    -1,    -1,   312,
   17676             :       -1,    -1,   315,    -1,  1071,    -1,    -1,    -1,    -1,    -1,
   17677             :     1546,    -1,  3238,    -1,   197,    -1,  3806,    -1,    -1,   202,
   17678             :     1087,    -1,    -1,    -1,    -1,    -1,  1060,  3253,    -1,    -1,
   17679             :       -1,    -1,  3258,    -1,    -1,  5698,    -1,  1071,   296,    -1,
   17680             :     5435,    -1,   225,   226,    -1,  3835,    -1,    -1,    -1,  5444,
   17681             :       -1,  3841,    -1,  1087,   312,    -1,    -1,   315,    -1,    -1,
   17682             :     3850,    -1,  3288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17683             :      253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17684             :       -1,    -1,  1618,    -1,    -1,    -1,    -1,    -1,  3878,    -1,
   17685             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,  4904,    -1,
   17686             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17687             :       -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   17688             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   17689             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17690             :       -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,
   17691             :      408,    -1,  4958,    -1,    -1,    -1,  3946,    -1,    -1,    -1,
   17692             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17693             :       -1,    -1,    -1,    -1,  4980,  1505,    -1,  1244,  3968,    -1,
   17694             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17695             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17696             :     3990,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17697             :     1244,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17698             :     1505,    -1,    -1,    -1,   537,   408,    -1,    -1,    -1,    -1,
   17699             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17700             :       -1,    -1,  1572,    -1,    -1,    -1,  5052,    -1,    -1,    -1,
   17701             :     5913,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   17702             :       -1,    -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,
   17703             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,
   17704             :       -1,    -1,  4072,  1613,    -1,    -1,    -1,  1572,    -1,    -1,
   17705             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17706             :     1836,    -1,    -1,  5698,    -1,    -1,    -1,  5702,    -1,    -1,
   17707             :       -1,    -1,    -1,    -1,    -1,    -1,  1646,  3543,    -1,    -1,
   17708             :     3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,  1613,    -1,
   17709             :       -1,    -1,   515,    -1,  4124,  1871,    -1,    -1,    -1,    -1,
   17710             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17711             :       -1,    -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,  4149,
   17712             :       -1,  1646,    -1,    -1,    -1,    -1,    -1,    -1,  5174,  3595,
   17713             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,    -1,    -1,
   17714             :       -1,  1917,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17715             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17716             :       -1,  1937,  3628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17717             :       -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,
   17718             :       17,    18,    19,    -1,    -1,    -1,    -1,  1963,    -1,  1965,
   17719             :       -1,    -1,    -1,  6069,    -1,    -1,    -1,    -1,    35,    -1,
   17720             :       -1,    -1,    -1,    -1,  1980,    -1,  1982,    -1,    45,    -1,
   17721             :       -1,    -1,  1988,    -1,  1990,    52,  1992,    -1,  1994,    -1,
   17722             :     1996,    -1,    -1,    -1,  2000,    -1,    -1,    -1,    -1,    -1,
   17723             :       -1,  1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17724             :       -1,    78,  3708,    -1,  3710,    -1,    -1,    -1,    -1,    -1,
   17725             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17726             :       -1,  2037,    -1,    -1,    -1,    -1,    -1,  5313,    -1,    -1,
   17727             :     1840,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17728             :     4310,  1851,    -1,    17,    18,    19,    -1,    -1,    -1,  5924,
   17729             :       -1,    -1,    -1,  5928,    -1,  5930,    -1,  1867,  1572,  5934,
   17730             :     5935,    35,    -1,    -1,    -1,    -1,  1613,    -1,    -1,    -1,
   17731             :       -1,    45,    -1,    -1,    -1,  1840,    -1,    -1,    52,    -1,
   17732             :       -1,    -1,    -1,    -1,    -1,    -1,  1851,    -1,    -1,    -1,
   17733             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1613,
   17734             :     3806,    -1,  1867,  5389,    78,    -1,    -1,    -1,    -1,    -1,
   17735             :       -1,  1921,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17736             :      197,    -1,    -1,    -1,    -1,   202,  1936,    -1,    -1,  1939,
   17737             :     1940,    -1,  1646,    -1,    -1,    -1,  4406,    -1,    -1,    51,
   17738             :       -1,    -1,    -1,    -1,  3850,    -1,    -1,    -1,   225,   226,
   17739             :       -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,    -1,
   17740             :     1970,  1971,    -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,
   17741             :       -1,  1936,  3878,    -1,  1939,  1940,   253,    -1,    -1,    -1,
   17742             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17743             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17744             :       -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,    -1,    -1,
   17745             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,
   17746             :       -1,    -1,    -1,   197,    -1,  5511,    -1,    -1,   202,    -1,
   17747             :       -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,   315,    -1,
   17748             :     3946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17749             :       -1,   225,   226,    -1,  6397,    -1,    -1,    -1,    -1,    -1,
   17750             :       -1,    -1,  3968,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17751             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,
   17752             :       -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,    -1,    -1,
   17753             :       -1,    -1,    10,  1840,    -1,    13,    -1,    -1,    -1,    17,
   17754             :       18,    19,  2112,    -1,  1851,    -1,    -1,  4577,    -1,    -1,
   17755             :       -1,    -1,    -1,    -1,    -1,  6458,    -1,    35,    -1,    -1,
   17756             :     1867,    -1,   296,    -1,    -1,    -1,  1840,    45,    -1,    -1,
   17757             :       -1,   408,    -1,    -1,    52,    -1,    -1,  1851,   312,    -1,
   17758             :     6483,   315,    -1,   728,    -1,    -1,    -1,  2112,    -1,    -1,
   17759             :       -1,    -1,    -1,  1867,  4624,    -1,    -1,    -1,  6233,  4629,
   17760             :       78,    -1,    -1,    -1,    -1,    -1,  4072,    -1,    -1,   754,
   17761             :       -1,    -1,    -1,    -1,  1921,    -1,    -1,    -1,    -1,    -1,
   17762             :     5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,  1936,
   17763             :       -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,    -1,    -1,
   17764             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,
   17765             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4124,    -1,
   17766             :       -1,    -1,  1936,  1970,  1971,  1939,  1940,    -1,    -1,    -1,
   17767             :       -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,   515,    -1,
   17768             :       -1,    -1,    -1,  4149,    -1,    -1,    -1,   524,   525,   526,
   17769             :      527,   528,   529,   530,   531,   532,  1970,  1971,    -1,    -1,
   17770             :      537,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17771             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,
   17772             :       -1,    -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,
   17773             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5785,
   17774             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,
   17775             :       -1,    -1,   897,    -1,    -1,    -1,    -1,  4787,    -1,    -1,
   17776             :       -1,    -1,  6397,    -1,    -1,    -1,    -1,    -1,    -1,  6404,
   17777             :       -1,    -1,    -1,  6408,    -1,   253,    -1,    -1,    -1,    -1,
   17778             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17779             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17780             :       -1,    -1,  5848,   537,    -1,  2112,    -1,    -1,    -1,  6444,
   17781             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,
   17782             :       -1,    -1,    -1,  6458,    -1,    -1,    -1,    -1,    -1,    -1,
   17783             :       -1,    -1,    -1,    -1,   312,    -1,    -1,   315,  2112,    -1,
   17784             :       -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,  6483,    -1,
   17785             :       -1,  6486,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17786             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17787             :       -1,    -1,    -1,    -1,  4904,    -1,    -1,    -1,    -1,    -1,
   17788             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17789             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17790             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17791             :       -1,    -1,    -1,    -1,    -1,  1060,    -1,    -1,    -1,    -1,
   17792             :       -1,    -1,    -1,    -1,    -1,    -1,  1071,    -1,  4958,    -1,
   17793             :      408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17794             :     4406,    -1,  1087,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17795             :     4980,    -1,    -1,  2729,  2730,    -1,    -1,    -1,    -1,    -1,
   17796             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4434,    -1,
   17797             :       -1,    -1,  2748,  2749,    -1,  2751,  2752,    -1,    -1,    -1,
   17798             :     2756,  2757,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17799             :       -1,    -1,    -1,    -1,    -1,  2771,    -1,    -1,    -1,  2775,
   17800             :       -1,    -1,    -1,  2779,  2780,    -1,    -1,  2783,  2784,    -1,
   17801             :       -1,    -1,    -1,    -1,  2790,    -1,    -1,    -1,    -1,    -1,
   17802             :       -1,    -1,  5052,    -1,    -1,    -1,  2802,    -1,    -1,    -1,
   17803             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,  2814,    -1,
   17804             :       -1,    -1,    -1,  2819,    -1,    -1,   524,   525,   526,   527,
   17805             :      528,   529,   530,   531,   532,    -1,   728,    -1,  2834,   537,
   17806             :       -1,    -1,  2838,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17807             :       -1,    -1,    -1,    -1,  2850,    -1,    -1,  2853,    -1,  2855,
   17808             :     2856,  2857,   754,    -1,    -1,    -1,  2862,  2863,    -1,    -1,
   17809             :       -1,    -1,    -1,    23,    -1,    -1,  2872,    -1,    28,  1244,
   17810             :       -1,    -1,  2878,    -1,    -1,    -1,  2882,    -1,    -1,    -1,
   17811             :       -1,  4577,    -1,    -1,    -1,    -1,    -1,    -1,  2894,  2895,
   17812             :       -1,    -1,    -1,  2899,    -1,    -1,    -1,    -1,    -1,  2905,
   17813             :     2906,    -1,    -1,    -1,    -1,    -1,    66,    -1,    -1,    -1,
   17814             :       -1,    -1,  5172,  2919,  5174,    -1,  2922,    -1,    -1,    79,
   17815             :       80,    -1,    -1,  2929,  2930,    -1,    -1,    -1,  4624,  2935,
   17816             :       -1,    -1,    92,  4629,    -1,  2735,    96,    -1,    -1,  2739,
   17817             :     2740,  2947,    -1,    -1,  2950,    -1,    -1,    -1,    -1,  2955,
   17818             :       -1,    -1,    -1,    -1,   114,  2961,  2962,    -1,    -1,    -1,
   17819             :       -1,    -1,    -1,  2969,    -1,    -1,    -1,  2973,    -1,    -1,
   17820             :       -1,  2977,  2978,  2979,  2980,    -1,  2982,    -1,   138,    -1,
   17821             :     2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,    -1,
   17822             :     2996,  2997,   152,  2999,  2794,   897,    -1,    -1,    -1,    -1,
   17823             :     2800,   161,    -1,    -1,  3010,  3011,  3012,    -1,    -1,    -1,
   17824             :       -1,    -1,    -1,    -1,   174,    -1,    -1,    -1,    -1,    -1,
   17825             :      180,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17826             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,
   17827             :       -1,    -1,    -1,    -1,    -1,  2800,    -1,   207,  2848,    -1,
   17828             :       -1,    -1,    -1,  5313,    -1,    -1,    -1,    -1,    -1,    -1,
   17829             :       -1,  3067,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3075,
   17830             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17831             :       -1,    -1,    -1,    -1,    -1,   245,    -1,    -1,  3094,    -1,
   17832             :       -1,  4787,    -1,  2848,  6370,    -1,    -1,    -1,    -1,    -1,
   17833             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,
   17834             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17835             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5389,
   17836             :     1505,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3144,    -1,
   17837             :       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17838             :       -1,    -1,   312,    17,    18,    19,    -1,  3163,  1060,  3165,
   17839             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1071,
   17840             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,
   17841             :       -1,    45,    -1,    -1,    -1,  1087,    -1,    -1,    52,   349,
   17842             :      350,    -1,    -1,   353,    -1,    -1,    -1,  1572,    -1,    -1,
   17843             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4904,    -1,
   17844             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    51,    -1,    -1,
   17845             :      380,    -1,    -1,   383,    -1,    -1,    -1,   387,    -1,    -1,
   17846             :      390,  2735,    -1,    -1,    -1,  2739,  2740,   397,  1613,    -1,
   17847             :      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17848             :       -1,  5511,    -1,    -1,  3260,    -1,    -1,  2794,  3058,    -1,
   17849             :      420,    -1,  4958,  2800,    -1,    -1,    -1,    -1,   428,    -1,
   17850             :       -1,  1646,    -1,    -1,    -1,   435,    -1,    -1,   438,    -1,
   17851             :       -1,    -1,    -1,   443,  4980,    -1,    -1,    -1,    -1,    -1,
   17852             :     2794,   451,    10,   453,    -1,    13,  2800,    -1,   458,    17,
   17853             :       18,    19,    -1,  3058,    -1,    -1,    -1,    -1,    -1,    -1,
   17854             :       -1,  2848,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,
   17855             :       -1,    -1,    -1,    -1,    -1,   485,    -1,    45,    -1,    -1,
   17856             :       -1,  3131,    -1,   197,    52,  3135,    -1,    -1,   202,    -1,
   17857             :       -1,    -1,  1244,    -1,  2848,    -1,    -1,    -1,    -1,    -1,
   17858             :       -1,    -1,    -1,    -1,    -1,    -1,  5052,    -1,    -1,    -1,
   17859             :       78,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17860             :       -1,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,
   17861             :     3135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,
   17862             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17863             :       -1,    -1,    -1,    -1,    -1,    -1,  5666,    -1,    -1,    -1,
   17864             :       -1,  5671,  5672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17865             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17866             :       -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,  3238,    -1,
   17867             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,
   17868             :       -1,   315,    -1,  3253,    -1,    -1,    -1,    -1,  3258,    -1,
   17869             :       -1,    -1,    -1,    -1,    -1,  1840,    -1,    -1,    -1,    -1,
   17870             :       -1,    -1,    -1,    -1,    -1,    -1,  1851,    -1,  5174,   197,
   17871             :       -1,    -1,    -1,  3238,   202,    -1,    -1,    -1,  3288,    -1,
   17872             :       -1,    -1,  1867,    -1,    -1,    -1,    -1,    -1,  3253,    -1,
   17873             :       -1,    -1,    -1,  3258,    -1,    -1,    -1,   225,   226,    -1,
   17874             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17875             :       -1,  3058,    -1,    -1,  5784,  5785,    -1,    -1,    -1,    -1,
   17876             :       -1,    -1,    -1,  3288,    -1,   253,    -1,    -1,    -1,    -1,
   17877             :       -1,    -1,    -1,    -1,   408,    -1,  1921,    -1,    -1,    -1,
   17878             :       -1,    -1,    -1,    -1,  3058,    -1,    -1,    -1,    -1,    -1,
   17879             :       -1,  1936,    -1,    -1,  1939,  1940,    -1,    -1,    -1,    -1,
   17880             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,
   17881             :       -1,    -1,    -1,    -1,  3590,    -1,    -1,    -1,  5848,    -1,
   17882             :       -1,    -1,    -1,    -1,   312,  1970,  1971,   315,    -1,    -1,
   17883             :       -1,  3607,    -1,  1505,    -1,  3611,    -1,    -1,    -1,    -1,
   17884             :     3616,  3617,  3618,    -1,    -1,    -1,    -1,  5313,    -1,    -1,
   17885             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,
   17886             :       -1,  3135,  3638,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17887             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17888             :       -1,   515,    -1,    -1,    -1,    -1,  3662,  3663,  3664,  3665,
   17889             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17890             :     1572,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   17891             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17892             :      408,    -1,    -1,  5389,  3700,    -1,  3702,  3703,  3704,    -1,
   17893             :       -1,  3238,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17894             :       -1,  1613,    -1,    -1,    -1,    -1,  3253,    -1,    -1,    -1,
   17895             :       -1,  3258,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17896             :       -1,    -1,    -1,    -1,  3238,    -1,    -1,  2112,    -1,    -1,
   17897             :       -1,    -1,    -1,  3543,  1646,    -1,  3546,    -1,  3548,  3253,
   17898             :       -1,  3288,    -1,  3553,  3258,    -1,    -1,    -1,    -1,    -1,
   17899             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17900             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17901             :       -1,    -1,    -1,    -1,  3288,    -1,    -1,    -1,  3543,    -1,
   17902             :       -1,  3546,    -1,  3548,    -1,  3595,    -1,   515,  3553,    -1,
   17903             :       -1,    -1,    -1,  3603,    -1,    -1,   524,   525,   526,   527,
   17904             :      528,   529,   530,   531,   532,  5511,  3822,    -1,    -1,   537,
   17905             :       -1,    -1,    -1,    -1,    -1,  3831,    -1,    -1,  3628,    -1,
   17906             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17907             :     3595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,    -1,
   17908             :       -1,  3857,  3858,    -1,    -1,    -1,  3862,    -1,    -1,    -1,
   17909             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17910             :       -1,    -1,    -1,  3628,    -1,    -1,    -1,    -1,  3884,    -1,
   17911             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17912             :       -1,    -1,    -1,    -1,   728,    -1,    -1,    -1,    -1,    -1,
   17913             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3708,    -1,
   17914             :     3710,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17915             :      754,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17916             :     3936,    -1,    -1,    -1,    -1,  3941,    -1,    -1,  1840,    -1,
   17917             :       -1,  3947,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1851,
   17918             :       -1,    -1,    -1,  3708,    -1,  3710,    -1,    -1,    -1,    -1,
   17919             :       -1,    -1,    -1,    -1,    -1,  1867,    -1,    -1,    -1,    -1,
   17920             :     5666,  3977,    -1,    -1,    -1,  5671,  5672,    -1,    -1,    -1,
   17921             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
   17922             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   17923             :     4006,    -1,  4008,    -1,    -1,    -1,  3806,    -1,    -1,    -1,
   17924             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  1921,
   17925             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   17926             :       -1,    -1,    -1,    -1,  1936,    -1,    -1,  1939,  1940,  3543,
   17927             :       -1,    -1,  3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,
   17928             :     3850,  3806,    -1,    -1,    -1,    78,    -1,    -1,  3595,    -1,
   17929             :       -1,    -1,    -1,   897,    -1,    -1,  3603,    -1,  1970,  1971,
   17930             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3878,    -1,
   17931             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5785,
   17932             :       -1,  3595,    -1,    -1,    -1,  3850,    -1,    -1,    -1,  3603,
   17933             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17934             :     6370,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17935             :       -1,    -1,    -1,  3878,  3628,    -1,    -1,    -1,    -1,    -1,
   17936             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17937             :       -1,    -1,    -1,    -1,    -1,    -1,  3946,    -1,    -1,    -1,
   17938             :       -1,    -1,  5848,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17939             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,
   17940             :       -1,  3708,    -1,  3710,   197,    -1,    -1,  6437,    -1,   202,
   17941             :       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   17942             :     3990,  3946,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
   17943             :       -1,    -1,   225,   226,  3708,    -1,  3710,    -1,    -1,    -1,
   17944             :     2112,    35,    -1,  3968,    -1,    -1,    -1,    -1,    -1,    -1,
   17945             :       -1,    45,    -1,    -1,    -1,    -1,  1060,    -1,    52,    -1,
   17946             :      253,    -1,    -1,    -1,    -1,  3990,    -1,  1071,    -1,    -1,
   17947             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17948             :       -1,    -1,    -1,  1087,    78,    -1,    -1,    -1,    -1,    -1,
   17949             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3806,
   17950             :       -1,    -1,  4072,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   17951             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   17952             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17953             :       -1,    -1,  3806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17954             :       -1,    -1,    -1,  3850,    -1,    -1,  4322,  4072,  4324,    -1,
   17955             :       -1,    -1,    -1,    -1,  4124,    -1,    -1,    -1,    -1,    -1,
   17956             :       -1,  4337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17957             :       -1,    -1,    -1,  4349,    -1,    -1,  3850,  4353,    -1,  4149,
   17958             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4365,
   17959             :     2735,    -1,    -1,    -1,  2739,  2740,    -1,    -1,    -1,  4124,
   17960             :       -1,    -1,    -1,   197,  3878,    -1,    -1,    -1,   202,  4385,
   17961             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,
   17962             :       -1,    -1,    -1,    -1,  4149,    -1,    -1,  4403,    -1,    -1,
   17963             :       -1,   225,   226,    -1,    -1,  4411,    -1,    -1,    -1,  3946,
   17964             :     1244,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2794,
   17965             :       -1,    -1,    -1,    -1,    -1,  2800,    -1,    -1,    -1,   253,
   17966             :     4436,    -1,    -1,    -1,  4440,    -1,    -1,    -1,    -1,    -1,
   17967             :       -1,    -1,  3946,    -1,    -1,    -1,    -1,    -1,    -1,  4455,
   17968             :     4456,  4457,  4458,  3990,    -1,    -1,    -1,    -1,    -1,  4465,
   17969             :     4466,  4467,  4468,    -1,  3968,    -1,    -1,    -1,  4474,  4475,
   17970             :       -1,    -1,   296,  2848,  4480,  4481,    -1,  4483,  4484,  4485,
   17971             :     4486,  4487,  4488,  4489,    -1,    -1,  3990,    -1,   312,    -1,
   17972             :       -1,   315,   515,  4499,    -1,    -1,    -1,  4503,  4504,  4505,
   17973             :     4506,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   17974             :     4310,    -1,    -1,    -1,   537,    -1,    -1,    -1,   207,    -1,
   17975             :       -1,  4527,    -1,    -1,    -1,    -1,    -1,   216,    -1,    -1,
   17976             :       -1,    -1,    -1,    -1,    -1,  4072,    -1,    -1,    -1,  4545,
   17977             :       -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17978             :       -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,    -1,
   17979             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4072,    -1,
   17980             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17981             :       -1,    -1,    -1,    -1,   408,    -1,    -1,  4124,    -1,    -1,
   17982             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17983             :       -1,    -1,    -1,    -1,    -1,    -1,  4406,    -1,    -1,    -1,
   17984             :       -1,    -1,  4149,    -1,    -1,    -1,  4622,    -1,    -1,    -1,
   17985             :     4124,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17986             :       -1,    -1,    -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,
   17987             :       -1,    -1,    -1,    -1,    -1,  4149,    -1,    -1,    -1,  4655,
   17988             :       -1,  4406,    -1,    -1,    -1,    -1,  4662,    -1,  4664,    -1,
   17989             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17990             :       -1,  1505,    -1,    -1,  6370,    -1,    -1,    -1,    -1,  4434,
   17991             :       -1,    -1,    -1,  3058,    -1,    -1,  4692,    -1,    -1,    -1,
   17992             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17993             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   17994             :       -1,    -1,    -1,   537,    -1,    -1,    -1,    -1,    -1,    -1,
   17995             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   17996             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1572,    -1,
   17997             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   17998             :       19,    -1,    -1,    -1,    -1,    -1,  3131,    -1,    -1,    -1,
   17999             :     3135,    -1,    -1,    -1,    -1,    -1,    35,    -1,    -1,    -1,
   18000             :       -1,    -1,    -1,    -1,    -1,    -1,    45,  4577,    -1,  1613,
   18001             :       -1,    -1,    -1,    52,    -1,    -1,    -1,    -1,    10,    -1,
   18002             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
   18003             :       -1,    -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    78,
   18004             :       -1,    -1,  1646,    35,    -1,    -1,    -1,   206,   207,    -1,
   18005             :       -1,    -1,  4577,    45,  4624,   214,    -1,   216,   217,  4629,
   18006             :       52,    -1,    -1,  2735,    -1,    -1,    -1,  2739,  2740,    -1,
   18007             :       -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18008             :       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   18009             :       -1,    -1,    -1,  3238,    -1,    -1,    -1,    -1,    -1,  4624,
   18010             :       -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,  3253,    -1,
   18011             :       -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,    -1,    -1,
   18012             :       -1,    -1,  2794,    -1,    -1,    -1,    -1,    -1,  2800,  4905,
   18013             :     4906,  4907,  4406,    -1,    -1,  4911,  4912,  4913,  4914,    -1,
   18014             :       -1,    -1,  4918,  3288,    -1,    -1,    -1,    -1,    -1,    -1,
   18015             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18016             :     4434,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18017             :       -1,    -1,    -1,    -1,    -1,    -1,  2848,    -1,    -1,    -1,
   18018             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18019             :       -1,    -1,    -1,    -1,  4970,  4971,  4972,  4973,  4974,    -1,
   18020             :     4976,  4977,    -1,    -1,    -1,   197,   665,    -1,    -1,    -1,
   18021             :      202,    -1,  4988,  4989,   253,    -1,    -1,  4787,    -1,    -1,
   18022             :       -1,    -1,    -1,    -1,    -1,   684,    -1,    -1,    -1,    -1,
   18023             :       -1,   690,    -1,   225,   226,    -1,  1840,    -1,    -1,    -1,
   18024             :       -1,    -1,    -1,   702,    -1,    -1,  5022,  1851,    -1,    -1,
   18025             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   296,    -1,   718,
   18026             :       -1,   253,  4787,  1867,    -1,    -1,    -1,    -1,    -1,    -1,
   18027             :     4577,    -1,    -1,   312,   733,    -1,   315,    -1,    -1,    -1,
   18028             :       -1,    -1,   741,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18029             :       -1,    -1,    -1,    -1,    -1,    -1,   755,    -1,    -1,    -1,
   18030             :       -1,    -1,    -1,  4577,   296,    -1,   765,    -1,    -1,    -1,
   18031             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1921,    -1,    -1,
   18032             :      312,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,
   18033             :       -1,    -1,  1936,    -1,  4904,  1939,  1940,    -1,    -1,    -1,
   18034             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5125,
   18035             :     4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,   818,
   18036             :       -1,    -1,    -1,    -1,    -1,    -1,  1970,  1971,    -1,   408,
   18037             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4904,
   18038             :       -1,    -1,    -1,    -1,    -1,    -1,  3058,   846,  4958,    -1,
   18039             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3543,    -1,
   18040             :       -1,  3546,    -1,  3548,    -1,    -1,    -1,    -1,  3553,    -1,
   18041             :     4980,    -1,   871,    -1,  5190,    -1,   408,    -1,    -1,    -1,
   18042             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18043             :       -1,    -1,    -1,  4958,    -1,    -1,    -1,    -1,    -1,    -1,
   18044             :       -1,    -1,    -1,    -1,    -1,    -1,  5222,    -1,    -1,    -1,
   18045             :     3595,    -1,    -1,    -1,    -1,  4980,    -1,    -1,  3603,  3131,
   18046             :       -1,    -1,    -1,  3135,    -1,    -1,    -1,    -1,    -1,    -1,
   18047             :       -1,    -1,    -1,    -1,   933,    -1,   515,    -1,    -1,    -1,
   18048             :       -1,    -1,  5052,  3628,    -1,   524,   525,   526,   527,   528,
   18049             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,    -1,
   18050             :       -1,    -1,    -1,    -1,    -1,    -1,   665,    -1,  2112,    -1,
   18051             :       -1,    -1,    -1,  4787,    -1,    -1,    -1,    -1,    -1,    -1,
   18052             :       -1,    -1,    -1,   515,    -1,   684,    -1,  5052,    -1,    -1,
   18053             :       -1,   690,   524,   525,   526,   527,   528,   529,   530,   531,
   18054             :      532,    -1,    -1,   702,  5320,   537,    -1,    -1,    -1,    -1,
   18055             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   718,
   18056             :       -1,    -1,    -1,  3708,    -1,  3710,  3238,    -1,    -1,    -1,
   18057             :       -1,    -1,    -1,   732,   733,    -1,    -1,    -1,    -1,    -1,
   18058             :      739,  3253,   741,   742,  1043,    -1,  3258,    -1,    -1,    -1,
   18059             :       -1,  1050,    -1,    -1,    -1,    -1,   755,  4904,    -1,    -1,
   18060             :       -1,    -1,    -1,    -1,  5174,    -1,   765,    -1,    -1,    -1,
   18061             :       -1,    -1,    -1,    -1,    -1,  5391,  3288,    -1,    -1,    -1,
   18062             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18063             :     4904,    -1,    -1,    -1,  5410,    -1,    -1,    -1,    -1,    -1,
   18064             :     5416,  5417,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5174,
   18065             :     5426,  4958,    -1,    -1,    -1,    -1,    -1,  5433,    -1,   818,
   18066             :       -1,  3806,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18067             :       -1,    -1,    -1,  4980,    -1,    -1,    25,    -1,    -1,    -1,
   18068             :       -1,    -1,    31,    10,  4958,    -1,    13,   846,    -1,    38,
   18069             :       17,    18,    19,    -1,  5470,  5471,    -1,    -1,    -1,    -1,
   18070             :       -1,    -1,    -1,    -1,    -1,  3850,  4980,  5483,    35,  5485,
   18071             :       -1,    60,   871,    -1,    -1,  1174,    -1,    -1,    45,    -1,
   18072             :       -1,    -1,    -1,    -1,  5500,    52,    -1,    76,    -1,    -1,
   18073             :       -1,    -1,    -1,  3878,    -1,    -1,    -1,    -1,    -1,    -1,
   18074             :       -1,    -1,    -1,  5313,    -1,  5052,    -1,    -1,    -1,  5525,
   18075             :       -1,    78,    -1,    -1,    -1,    -1,    -1,  5533,    -1,    -1,
   18076             :       -1,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
   18077             :       -1,    -1,    -1,    -1,   933,    -1,  1235,    -1,  5052,    -1,
   18078             :       -1,    -1,    -1,    -1,   133,    -1,    -1,  1246,  5313,    -1,
   18079             :       -1,   140,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,
   18080             :       -1,  3946,    -1,    -1,  1263,    -1,    -1,    -1,    -1,  1268,
   18081             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5389,
   18082             :       -1,    -1,    -1,  3968,   173,    -1,    -1,    -1,    -1,    -1,
   18083             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18084             :       -1,    -1,    -1,    -1,    -1,  3990,    -1,    -1,    -1,  5625,
   18085             :       -1,    -1,    -1,    -1,    -1,    -1,   205,    -1,    -1,    -1,
   18086             :      209,    -1,    -1,  5639,  5389,    -1,    -1,  5174,    -1,    -1,
   18087             :      197,  3543,    -1,    -1,  3546,   202,  3548,    -1,    -1,    -1,
   18088             :       -1,  3553,    -1,    -1,  1043,    -1,    -1,    -1,    -1,  5665,
   18089             :       -1,  1050,    -1,    -1,    -1,    -1,    -1,    -1,   225,   226,
   18090             :     5174,    -1,  1061,    -1,    -1,    -1,  1065,    -1,  1067,    -1,
   18091             :       -1,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,   268,
   18092             :       -1,    -1,    -1,  3595,   273,    -1,   253,  4072,    -1,    -1,
   18093             :       -1,  3603,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18094             :      289,  5511,  1401,    -1,   293,    -1,    -1,    -1,    -1,    -1,
   18095             :     1409,  1410,    -1,    -1,    -1,   304,  3628,  5733,    -1,    -1,
   18096             :       -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,   296,
   18097             :       -1,    -1,    -1,    -1,    -1,    -1,   325,   326,    -1,  4124,
   18098             :       -1,    -1,    -1,    -1,    -1,   312,  5511,    -1,   315,    -1,
   18099             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18100             :       -1,    -1,    -1,  1462,  4149,    -1,  5313,    -1,    -1,    -1,
   18101             :       -1,    -1,    -1,    -1,    -1,  1174,    -1,    -1,    -1,   368,
   18102             :       -1,    -1,   371,   372,   373,    -1,    -1,  5803,    -1,    -1,
   18103             :       -1,    -1,    -1,    -1,    -1,    -1,  3708,    -1,  3710,  5313,
   18104             :       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,   397,    17,
   18105             :       18,    19,    -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,
   18106             :       -1,  5837,    -1,    -1,    -1,    -1,    -1,    35,    -1,   418,
   18107             :       -1,    -1,    -1,    -1,    -1,    -1,  1235,    45,    -1,    -1,
   18108             :       -1,   408,    -1,    -1,    52,    -1,    -1,  1246,    -1,    -1,
   18109             :       -1,    -1,    -1,    -1,    -1,    -1,  5666,    -1,    -1,    -1,
   18110             :       -1,  5671,  5672,    -1,  1263,    -1,    -1,  5883,    -1,  1268,
   18111             :       78,    -1,    -1,    -1,    -1,  5389,    -1,   208,    -1,    -1,
   18112             :      469,    -1,    -1,    -1,    -1,    -1,    -1,   476,    -1,   220,
   18113             :       -1,  2735,  5908,    -1,  3806,  2739,  2740,    -1,    -1,    -1,
   18114             :      231,  5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,
   18115             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18116             :       -1,    -1,    -1,    -1,    -1,  4310,    -1,    -1,    -1,    -1,
   18117             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3850,    -1,
   18118             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   515,    -1,
   18119             :     2794,  5967,    -1,    -1,    -1,    -1,  2800,   524,   525,   526,
   18120             :      527,   528,   529,   530,   531,   532,  3878,    -1,    -1,    -1,
   18121             :      537,    -1,    -1,    -1,    -1,  5785,    -1,    -1,    -1,    -1,
   18122             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,
   18123             :       -1,    -1,    -1,    -1,   202,    -1,    -1,  5511,    -1,    -1,
   18124             :       -1,    -1,  1401,    -1,  2848,    -1,    -1,    -1,    -1,    -1,
   18125             :     1409,  1410,    -1,    -1,  1713,    -1,    -1,   225,   226,    -1,
   18126             :     5785,  4406,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18127             :       -1,    -1,    -1,    -1,  3946,    -1,    -1,    -1,  5848,    -1,
   18128             :       -1,    -1,    -1,    -1,    -1,   253,    -1,    -1,    -1,  4434,
   18129             :       -1,    -1,    -1,    -1,    -1,    -1,  3968,    -1,    -1,    -1,
   18130             :       -1,    -1,    -1,  1462,    -1,    -1,  6082,    10,    -1,    -1,
   18131             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,  3990,    -1,
   18132             :       -1,    -1,    -1,  5848,    -1,    -1,    -1,    -1,   296,    -1,
   18133             :       -1,    -1,    35,    -1,    -1,  6111,    -1,    -1,    -1,    -1,
   18134             :       -1,    -1,    45,    -1,   312,    -1,  6122,   315,    -1,    52,
   18135             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5666,
   18136             :       -1,    -1,    -1,    -1,  5671,  5672,    -1,    -1,    -1,  1828,
   18137             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18138             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18139             :       -1,    -1,  5666,    -1,    -1,    -1,    -1,  5671,  5672,    -1,
   18140             :     4072,    -1,    -1,    -1,  1863,    -1,    -1,   198,   199,    -1,
   18141             :       -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18142             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1886,    -1,    -1,
   18143             :       -1,   222,  4577,    -1,    -1,  1894,    -1,    -1,   229,    -1,
   18144             :      408,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
   18145             :       -1,    -1,  4124,    -1,  3058,    -1,    -1,    -1,    -1,    -1,
   18146             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18147             :       -1,    -1,    -1,  6249,    -1,    -1,    -1,  4149,  5785,  4624,
   18148             :       -1,    -1,    -1,    -1,  4629,    -1,    -1,  1946,  1947,    -1,
   18149             :       -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,
   18150             :       -1,  1960,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18151             :       -1,  5785,    -1,    -1,  1973,  1974,    -1,    -1,    -1,    -1,
   18152             :       -1,    -1,   225,   226,    -1,    -1,    -1,  3131,    -1,    -1,
   18153             :       -1,  3135,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18154             :       -1,  5848,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,
   18155             :      253,    -1,    -1,    -1,  1713,    -1,   524,   525,   526,   527,
   18156             :      528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,   537,
   18157             :       -1,    -1,    -1,    -1,  5848,   666,    -1,    -1,    -1,    -1,
   18158             :       -1,   672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18159             :       -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,
   18160             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   18161             :       -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18162             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18163             :       -1,    -1,    -1,    -1,  3238,    -1,    -1,    -1,  4310,    -1,
   18164             :       -1,    -1,  4787,    -1,    -1,    -1,    -1,    -1,    -1,  3253,
   18165             :       -1,    -1,    -1,    -1,  3258,    -1,    -1,    -1,    -1,    -1,
   18166             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1828,
   18167             :       -1,    -1,    -1,    -1,  2133,    -1,    -1,    -1,    -1,    -1,
   18168             :       -1,    -1,    -1,    -1,  3288,  6461,    -1,    -1,    -1,    -1,
   18169             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18170             :       -1,    -1,    -1,    -1,  1863,   408,    -1,    -1,    -1,    -1,
   18171             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18172             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1886,    -1,    -1,
   18173             :       -1,    -1,    -1,    -1,  4406,  1894,    -1,    -1,    -1,    -1,
   18174             :       -1,    -1,    -1,  1902,    -1,    -1,    -1,    -1,    -1,    -1,
   18175             :       -1,    -1,   843,    -1,    -1,    -1,    -1,    -1,    -1,  4904,
   18176             :       -1,    -1,  4434,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18177             :       -1,   862,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18178             :       -1,    -1,    -1,    -1,  1943,  1944,    -1,  1946,  1947,    -1,
   18179             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1958,
   18180             :     6370,  1960,  1961,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18181             :       -1,    -1,   515,  4958,  1973,  1974,    -1,    -1,    -1,    -1,
   18182             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18183             :       10,    -1,    -1,    13,   537,  4980,    -1,    17,    18,    19,
   18184             :       -1,    -1,    -1,    -1,    -1,  6370,    -1,    -1,    -1,    -1,
   18185             :       -1,    -1,  2011,    -1,    -1,    35,  2015,  2016,    -1,    -1,
   18186             :       -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
   18187             :       -1,    -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18188             :       -1,    -1,    -1,   674,    -1,   676,    -1,    -1,   679,    -1,
   18189             :      981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,
   18190             :       -1,    -1,   693,    10,    -1,  4577,    13,  5052,   699,    -1,
   18191             :       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18192             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,
   18193             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,  3543,
   18194             :       -1,    -1,  3546,    -1,  3548,    52,    -1,    -1,    -1,  3553,
   18195             :       -1,    -1,  4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,
   18196             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18197             :       -1,    78,    -1,    -1,  2133,    -1,    -1,    -1,    -1,    -1,
   18198             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18199             :       -1,  3595,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3603,
   18200             :       -1,    -1,    -1,    -1,    -1,  1096,    -1,    -1,    -1,    -1,
   18201             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,
   18202             :       -1,    -1,   202,    -1,  3628,    -1,    -1,    -1,    -1,  5174,
   18203             :       -1,    -1,    -1,    -1,  1125,  1126,  1127,    -1,    -1,    -1,
   18204             :       -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,
   18205             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18206             :       -1,    -1,    -1,  6370,    -1,   172,    -1,    -1,    -1,    -1,
   18207             :       -1,   178,    -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,
   18208             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18209             :      197,    -1,    -1,    -1,    -1,   202,  6370,    -1,    -1,    -1,
   18210             :       -1,    -1,    -1,    -1,  3708,    -1,  3710,    -1,    -1,    -1,
   18211             :       -1,    -1,    -1,    -1,    -1,  4787,   296,    -1,   225,   226,
   18212             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18213             :       -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,    -1,
   18214             :       -1,    -1,    -1,  1234,    -1,    10,   253,    -1,    13,    -1,
   18215             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18216             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5313,    -1,
   18217             :       35,  1262,    -1,    -1,    39,    -1,    -1,    -1,    -1,    -1,
   18218             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,   296,
   18219             :       -1,    -1,    -1,    -1,    -1,   986,   987,    -1,    -1,    -1,
   18220             :       -1,    -1,  3806,    -1,    -1,   312,    -1,    -1,   315,    -1,
   18221             :       -1,    -1,    -1,    78,  2673,    -1,    -1,    -1,    -1,    -1,
   18222             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   408,    -1,
   18223             :       -1,    -1,  4904,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18224             :       -1,    -1,    -1,    -1,  5389,    -1,  3850,    -1,    -1,    -1,
   18225             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18226             :       -1,    -1,    -1,    -1,    -1,   130,  1057,    -1,    -1,  2728,
   18227             :       -1,    -1,    -1,    -1,  3878,    -1,    -1,    -1,    -1,    -1,
   18228             :       -1,  1072,    -1,    -1,    -1,    -1,  4958,  2746,    -1,    -1,
   18229             :       -1,  2750,    -1,    -1,    -1,  2754,    -1,    -1,    -1,    -1,
   18230             :       -1,   408,    -1,    -1,  2763,    -1,    -1,    -1,  4980,    -1,
   18231             :       -1,    -1,  1103,  1104,    -1,    -1,    -1,    -1,    -1,  2778,
   18232             :       -1,    -1,    -1,    -1,  1415,    -1,    -1,    -1,    -1,    -1,
   18233             :       -1,    -1,   197,    -1,    -1,   515,    -1,   202,  1129,    -1,
   18234             :       -1,    -1,  3946,    -1,   524,   525,   526,   527,   528,   529,
   18235             :      530,   531,   532,  2812,    -1,   535,    -1,    -1,    -1,    -1,
   18236             :      225,   226,    -1,    -1,  3968,    -1,  5511,    -1,    -1,    -1,
   18237             :       -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,  1169,  1170,
   18238             :     5052,    -1,    -1,    -1,    -1,    -1,  3990,    -1,   253,    -1,
   18239             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18240             :       -1,    -1,    -1,    -1,  1495,    -1,    -1,    -1,   515,    -1,
   18241             :       -1,  2870,  2871,    -1,    -1,  2874,    -1,   524,   525,   526,
   18242             :      527,   528,   529,   530,   531,   532,    -1,    -1,    -1,    -1,
   18243             :       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2898,
   18244             :       -1,  2900,    -1,    -1,    -1,  2904,    -1,   312,    -1,    -1,
   18245             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2918,
   18246             :       -1,    -1,    -1,    -1,    -1,    -1,  2925,    -1,  4072,  2928,
   18247             :       -1,    -1,    -1,    -1,    -1,  2934,    -1,    -1,    -1,    -1,
   18248             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1578,    -1,    -1,
   18249             :       -1,    -1,    -1,    -1,    -1,  2954,  1587,    -1,    -1,    -1,
   18250             :       -1,  2960,  5174,    -1,    -1,    -1,    -1,    -1,  2967,    -1,
   18251             :       -1,    -1,    -1,    -1,  2673,    -1,    -1,    -1,    -1,    -1,
   18252             :     4124,  5666,  2981,    -1,    -1,    -1,  5671,  5672,  1619,    -1,
   18253             :       -1,    -1,    -1,    -1,  1625,  1626,  2995,    -1,  1629,    -1,
   18254             :       -1,  3000,    -1,   408,    -1,  4149,    -1,  3006,    -1,    -1,
   18255             :       -1,  1642,    -1,    -1,  1645,    -1,    -1,    -1,    -1,    -1,
   18256             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2728,
   18257             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18258             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2746,    -1,    -1,
   18259             :       -1,  2750,    -1,    -1,    -1,  2754,    -1,    -1,    -1,    -1,
   18260             :       -1,    -1,    -1,    -1,  2763,    -1,    -1,  3066,   473,    -1,
   18261             :       -1,    -1,  1703,    -1,    -1,    -1,    -1,    -1,    -1,  2778,
   18262             :       -1,    -1,    -1,    -1,    -1,    -1,  1717,    -1,    -1,    -1,
   18263             :       -1,    -1,    -1,    -1,    -1,    -1,  2795,    -1,  2797,  2798,
   18264             :     5785,  5313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18265             :      515,    -1,    -1,  2812,    -1,    -1,    -1,    -1,    -1,   524,
   18266             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18267             :       -1,    -1,    -1,  2832,  2833,    -1,    -1,    -1,    -1,    -1,
   18268             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18269             :       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
   18270             :       -1,    -1,    -1,  5848,    -1,    -1,  4310,    -1,    -1,    -1,
   18271             :       -1,  2870,  2871,    35,    -1,  2874,    -1,  5389,    -1,    -1,
   18272             :       -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   18273             :       52,    -1,    -1,    -1,    -1,    -1,  1827,    -1,    -1,  2898,
   18274             :       -1,  2900,    -1,    -1,    -1,  2904,    -1,  1838,    -1,    -1,
   18275             :       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,  2918,
   18276             :       -1,    -1,  3221,    -1,  3223,    -1,  2925,    -1,    -1,  2928,
   18277             :       -1,    -1,    -1,    -1,  1565,  2934,    -1,    -1,    -1,    -1,
   18278             :       -1,  3240,    -1,    -1,    -1,    -1,    -1,    -1,  3247,  1880,
   18279             :     1881,    -1,    -1,    -1,    -1,  2954,    -1,    -1,    -1,  1590,
   18280             :       -1,  2960,  4406,    -1,    -1,    -1,    -1,    -1,  2967,    -1,
   18281             :       -1,    -1,    -1,    -1,  1905,    -1,    -1,    -1,    -1,    -1,
   18282             :       -1,  1912,  2981,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18283             :     4434,    -1,    -1,    -1,    -1,    -1,  2995,    -1,    -1,  5511,
   18284             :       -1,  3000,    -1,    -1,    -1,    -1,    -1,  3006,    -1,   171,
   18285             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18286             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18287             :       -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,  1669,    -1,
   18288             :      202,    -1,    -1,    -1,    -1,  3344,    -1,    -1,    -1,    -1,
   18289             :       -1,  3350,    -1,    -1,  1985,    -1,    -1,    -1,    -1,    -1,
   18290             :       -1,    -1,    -1,   225,   226,    -1,    -1,  3066,  1699,  1700,
   18291             :     1701,  1702,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18292             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2018,  2019,    -1,
   18293             :       -1,   253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18294             :       -1,    -1,    -1,    -1,  2035,    10,    -1,  2038,    13,    -1,
   18295             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18297             :       35,    -1,    -1,  4577,   296,    -1,  3435,    -1,    -1,    -1,
   18298             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,
   18299             :      312,    -1,    -1,   315,  5666,    -1,    -1,    -1,    -1,  5671,
   18300             :     5672,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18301             :       -1,    13,    -1,    78,    -1,    17,    18,    19,    -1,   341,
   18302             :     4624,    -1,    -1,    -1,    -1,  4629,    -1,    -1,    -1,    -1,
   18303             :       -1,    -1,    -1,    35,    -1,    -1,    38,    -1,    -1,    -1,
   18304             :       -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,
   18305             :       52,    -1,    -1,    -1,    -1,  1846,  1847,    -1,    -1,    -1,
   18306             :       -1,    -1,  3221,    -1,  3223,    -1,    -1,    -1,    -1,    -1,
   18307             :       -1,  1862,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,
   18308             :       -1,  3240,    -1,    -1,    -1,    -1,   408,    -1,  3247,    -1,
   18309             :       -1,    -1,    -1,    -1,    -1,  3254,    -1,  3256,  3257,    -1,
   18310             :       -1,    -1,    -1,    -1,    -1,  1896,  1897,  1898,  1899,  3568,
   18311             :     3569,    -1,    -1,  5785,    10,    -1,    -1,    13,    -1,    -1,
   18312             :       -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,
   18313             :     3589,    -1,   197,  3592,    -1,    -1,    -1,   202,    -1,    35,
   18314             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    45,
   18315             :       -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,    -1,    -1,
   18316             :      225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18317             :       -1,    -1,    -1,    -1,    -1,    -1,  5848,    -1,    -1,    -1,
   18318             :       -1,    -1,    78,  4787,    -1,  3344,  1977,    -1,   253,    -1,
   18319             :       -1,  3350,  1983,   515,    -1,   197,    -1,    -1,    -1,    -1,
   18320             :      202,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18321             :      532,    -1,    -1,    -1,    -1,  3674,  3675,  3676,    -1,    -1,
   18322             :       -1,    -1,    -1,   225,   226,  6370,    -1,    -1,    -1,    -1,
   18323             :       -1,   296,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18324             :     3699,    -1,    -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,
   18325             :      315,   253,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3718,
   18326             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18327             :       -1,    -1,    -1,    -1,    -1,    -1,  3435,    -1,   343,    -1,
   18328             :       -1,  3740,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18329             :       -1,    -1,    -1,    -1,   296,    -1,    25,    -1,    -1,    -1,
   18330             :     4904,   197,    31,    -1,    -1,    -1,   202,    -1,    -1,    38,
   18331             :      312,    -1,    -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,
   18332             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,
   18333             :      226,    60,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18334             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    76,    -1,    -1,
   18335             :       -1,    -1,    -1,    -1,  4958,    -1,    -1,   253,    -1,    -1,
   18336             :       -1,    -1,   427,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18337             :       -1,  3830,    -1,    -1,    -1,    -1,  4980,    -1,    -1,    -1,
   18338             :     2171,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,    -1,
   18339             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18340             :      296,    -1,    -1,    -1,   133,    -1,   408,    -1,    -1,  3568,
   18341             :     3569,   140,    -1,    -1,    -1,   144,   312,    -1,  3877,   315,
   18342             :       -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,    -1,    -1,
   18343             :     3589,    -1,    -1,  3592,    -1,    -1,    -1,    -1,    -1,  3898,
   18344             :       -1,  3900,    -1,    -1,   173,    -1,    -1,    -1,  5052,    -1,
   18345             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18346             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18347             :       -1,    -1,    -1,    -1,    -1,    -1,   205,    -1,    -1,    -1,
   18348             :      209,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18350             :       -1,    -1,    -1,    -1,  2595,    -1,    -1,    -1,  3967,    -1,
   18351             :       -1,    -1,   408,   515,  2605,  3674,  3675,  3676,    -1,    -1,
   18352             :       -1,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18353             :      532,    -1,    -1,    -1,   263,    -1,    -1,    -1,    -1,   268,
   18354             :     3699,    -1,    -1,    -1,   273,    -1,    -1,    -1,    -1,    -1,
   18355             :     4009,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3718,
   18356             :      289,    -1,    -1,    -1,   293,    -1,    -1,    -1,    -1,  4028,
   18357             :     5174,    -1,    -1,  4032,    -1,   304,    -1,    -1,    -1,    -1,
   18358             :       -1,  3740,    -1,    -1,    -1,   314,    -1,    -1,    -1,    -1,
   18359             :       -1,    -1,    -1,    -1,  4053,    -1,   325,   326,    -1,    -1,
   18360             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18361             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   514,   515,
   18362             :       -1,    -1,    -1,    -1,  2715,    -1,    -1,    -1,   524,   525,
   18363             :      526,   527,   528,   529,   530,   531,   532,    -1,    -1,   368,
   18364             :       -1,    -1,   371,   372,   373,    10,    -1,    -1,    13,    -1,
   18365             :       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18366             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   397,    -1,
   18367             :       35,  3830,    -1,    -1,   403,    -1,    -1,    -1,    -1,    -1,
   18368             :       45,    -1,    -1,    -1,    -1,    -1,    -1,    52,    -1,   418,
   18369             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6370,    -1,
   18370             :       -1,    -1,  4161,    -1,    -1,    -1,    -1,    -1,    -1,  5313,
   18371             :       -1,    -1,    -1,    78,    -1,    -1,    -1,     0,  3877,    -1,
   18372             :       -1,    -1,    -1,    -1,  3883,    -1,  3885,    -1,    -1,    -1,
   18373             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    -1,  3898,
   18374             :      469,  3900,    -1,    -1,    -1,    -1,    -1,   476,    31,    -1,
   18375             :       33,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18376             :       -1,  2852,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
   18377             :       -1,    -1,    -1,    -1,    -1,    -1,  2867,    -1,    61,    -1,
   18378             :       -1,    -1,    -1,    -1,    -1,  5389,    -1,    -1,    -1,    -1,
   18379             :       73,    -1,    75,    76,    -1,    -1,    -1,    -1,  2889,    82,
   18380             :       -1,    84,    -1,    -1,    -1,    -1,    -1,    -1,  3967,    -1,
   18381             :       -1,    -1,    -1,    -1,    97,    -1,    99,    -1,    -1,    -1,
   18382             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18383             :       19,    -1,   197,   116,    -1,    -1,   119,   202,    -1,    -1,
   18384             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,  2639,    38,
   18385             :     4009,   134,    -1,   136,    -1,    -1,    45,   140,    -1,    -1,
   18386             :      225,   226,    -1,    52,   147,    -1,    -1,    -1,    -1,  4028,
   18387             :       -1,    -1,    -1,  4032,   157,    -1,   159,  4336,    -1,    -1,
   18388             :       -1,    -1,    -1,   166,  2975,  2976,    -1,    -1,   253,    78,
   18389             :       -1,    -1,    -1,    -1,  4053,    -1,    -1,    -1,    -1,    -1,
   18390             :       -1,   184,    -1,    -1,    -1,    -1,    -1,  5511,    -1,    -1,
   18391             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   201,    -1,
   18392             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18393             :       -1,   296,    -1,    -1,    -1,   840,   841,    -1,    -1,    -1,
   18394             :       -1,  4400,    -1,    -1,    -1,    -1,  4405,   312,  4407,    -1,
   18395             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18396             :       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
   18397             :       -1,   336,   255,   256,  4433,    -1,    -1,    -1,   261,    -1,
   18398             :       -1,    -1,    -1,    -1,    35,    -1,  3077,    -1,    -1,    -1,
   18399             :       -1,    -1,    -1,   276,    45,    -1,    -1,    -1,    -1,    -1,
   18400             :       -1,    52,  4161,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18401             :     2801,    -1,   295,   202,    -1,   920,    -1,    -1,    -1,    -1,
   18402             :     4479,    -1,    -1,  4482,    -1,    -1,    -1,    78,    -1,    -1,
   18403             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18404             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   18405             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18406             :       -1,   344,  5666,    -1,   253,    -1,    -1,  5671,  5672,    -1,
   18407             :       -1,    -1,    -1,    -1,    -1,    -1,   359,    -1,    -1,    -1,
   18408             :       -1,   364,   365,    -1,   367,    -1,    -1,    -1,    -1,   372,
   18409             :       -1,    -1,    -1,    -1,    -1,   378,    -1,    -1,   381,    -1,
   18410             :       -1,    -1,    -1,    -1,    -1,   388,    -1,   296,    -1,    -1,
   18411             :       -1,    -1,   395,   396,  4573,  4574,    -1,    -1,    -1,    -1,
   18412             :      403,    -1,    -1,   312,   407,  4584,   315,   178,    -1,    -1,
   18413             :       -1,    -1,    -1,    -1,    -1,   418,  1041,  1042,    -1,    -1,
   18414             :       -1,    -1,  4601,    -1,    -1,    -1,   197,    -1,    -1,    -1,
   18415             :      515,   202,   435,    -1,    -1,  2946,    -1,    -1,  2949,   524,
   18416             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18417             :       -1,    -1,    -1,   456,   225,   226,    -1,  4336,    -1,    -1,
   18418             :       -1,  5785,    -1,    -1,    -1,   468,    -1,    -1,    -1,    -1,
   18419             :       -1,   474,    -1,    -1,    -1,    -1,   479,    -1,    -1,    -1,
   18420             :       -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,    10,    -1,
   18421             :      493,    13,    -1,    -1,    -1,    17,    18,    19,    -1,   408,
   18422             :       -1,    -1,    -1,  4682,    -1,    -1,  4685,    -1,    -1,    -1,
   18423             :       -1,  1368,    -1,    35,   517,    -1,   519,   520,   521,   522,
   18424             :      523,  4400,    -1,    45,  5848,   296,  4405,  3038,  4407,    -1,
   18425             :       52,    -1,    -1,   536,    -1,    -1,   539,    -1,    -1,    -1,
   18426             :     3051,   312,    -1,    -1,   315,    -1,    -1,    -1,  3059,    -1,
   18427             :       -1,    -1,    -1,    -1,  4433,    -1,    78,    -1,    -1,    -1,
   18428             :       -1,    -1,    -1,    -1,    -1,    -1,  1423,    -1,    -1,    -1,
   18429             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18430             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3098,    -1,    -1,
   18431             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18432             :     4479,    -1,    -1,  4482,    -1,    -1,   515,    -1,  3119,    -1,
   18433             :     3421,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   18434             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,    -1,    -1,
   18435             :       -1,    10,    -1,    -1,    13,    -1,    -1,   408,    17,    18,
   18436             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18437             :       -1,  3162,    -1,  3164,    -1,  1280,    35,    -1,    -1,    38,
   18438             :       -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
   18439             :       -1,    -1,    -1,    52,    -1,   197,    -1,    -1,    -1,    -1,
   18440             :      202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18441             :       -1,    -1,    -1,    -1,  4573,  4574,    -1,  1322,    -1,    78,
   18442             :       -1,    -1,    -1,   225,   226,  4584,    -1,    -1,    -1,    -1,
   18443             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18444             :       -1,    -1,  4601,    -1,    -1,    -1,  1351,  1352,  1353,    -1,
   18445             :     1355,   253,    -1,    -1,    -1,    -1,    -1,    -1,  4917,    -1,
   18446             :       -1,  3252,    -1,    -1,   515,    -1,    -1,    -1,  3259,    -1,
   18447             :       -1,  1376,    -1,   524,   525,   526,   527,   528,   529,   530,
   18448             :      531,   532,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18449             :       -1,    -1,    13,    -1,   296,    -1,    17,    18,    19,    -1,
   18450             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18451             :      312,    -1,    -1,   315,    35,    -1,  4975,    38,    -1,    -1,
   18452             :       -1,    -1,    -1,  4682,    45,    -1,  4685,    -1,  4987,    -1,
   18453             :       -1,    52,    -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,
   18454             :       -1,    -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18455             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,
   18456             :       -1,    -1,  5021,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18457             :       -1,    -1,    -1,    -1,  1479,    -1,    -1,    10,  1483,  1484,
   18458             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18459             :       -1,    -1,    -1,    -1,   253,    -1,    -1,  1734,    -1,    -1,
   18460             :       -1,  1738,    35,    -1,    -1,    -1,   408,    -1,    -1,    -1,
   18461             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18462             :       -1,    -1,    -1,    -1,    -1,  3716,    -1,    -1,    -1,    -1,
   18463             :       -1,    -1,    -1,    -1,    -1,  3726,    -1,   296,    -1,    -1,
   18464             :       -1,  5100,   444,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18465             :       -1,    -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,
   18466             :     5119,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18467             :       -1,    -1,    -1,    -1,    -1,    -1,   197,    -1,    -1,    -1,
   18468             :       -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18469             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18470             :       -1,    -1,    -1,    -1,   225,   226,    -1,    -1,    -1,    -1,
   18471             :       -1,    -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   18472             :       -1,    -1,   524,   525,   526,   527,   528,   529,   530,   531,
   18473             :      532,    -1,   253,    -1,    -1,    10,    -1,    -1,    13,    -1,
   18474             :       -1,    -1,    17,    18,    19,    -1,  5205,    -1,    -1,   408,
   18475             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4917,    -1,
   18476             :       35,    -1,    -1,    -1,   197,    -1,  6370,    -1,    -1,   202,
   18477             :       45,    -1,    -1,    -1,    -1,   296,    -1,    52,    -1,    -1,
   18478             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18479             :       -1,   312,   225,   226,   315,    -1,    -1,    -1,  3889,  3890,
   18480             :     3891,    -1,    -1,    78,    -1,    -1,    -1,  3598,  3599,    -1,
   18481             :       -1,    -1,    -1,    -1,    -1,  3906,  4975,    -1,    -1,    -1,
   18482             :      253,    -1,    -1,  1728,  1729,  1730,    -1,    -1,  4987,    -1,
   18483             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18484             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3939,  3940,
   18485             :       -1,    -1,    -1,  3944,    -1,    -1,   515,    -1,    -1,    -1,
   18486             :       -1,    -1,  5021,   296,    -1,   524,   525,   526,   527,   528,
   18487             :      529,   530,   531,   532,    -1,    -1,    -1,    -1,  5337,   312,
   18488             :     5339,    -1,   315,    -1,    -1,    -1,    10,   408,    -1,    13,
   18489             :       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,   332,
   18490             :       -1,    -1,    -1,   178,    -1,    -1,    -1,    -1,    -1,    -1,
   18491             :       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  2055,    -1,
   18492             :       -1,    45,   197,    -1,    -1,    -1,    -1,   202,    52,    -1,
   18493             :       -1,  5390,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18494             :       -1,  5100,    -1,    -1,  2081,    -1,    -1,    -1,  2085,    -1,
   18495             :      225,   226,    -1,    -1,    78,    -1,    -1,    -1,    -1,  4050,
   18496             :     5119,    -1,    -1,  2100,  2101,  2102,    -1,  2104,    -1,    -1,
   18497             :       -1,    -1,    -1,    -1,    -1,   408,    -1,    -1,   253,    -1,
   18498             :       -1,  5440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
   18499             :       -1,    -1,    13,    -1,   515,    -1,    17,    18,    19,    -1,
   18500             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18501             :      531,   532,    -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,
   18502             :       -1,   296,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
   18503             :       -1,    52,    -1,    -1,    -1,    -1,    -1,   312,    -1,    -1,
   18504             :      315,    -1,    -1,    -1,    -1,    -1,  5205,    -1,    -1,    -1,
   18505             :       -1,    -1,    -1,    -1,   178,    -1,    -1,    78,    -1,    -1,
   18506             :       -1,  3852,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18507             :       -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,   202,    -1,
   18508             :       -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18509             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18510             :       -1,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18511             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18512             :       -1,    -1,    -1,    -1,    -1,  4216,  4217,  4218,    -1,   253,
   18513             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    -1,    -1,    -1,
   18514             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18515             :       -1,   172,  2057,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18516             :       -1,  2066,  2067,  2068,  2069,  2070,  2071,  2072,  2073,  2074,
   18517             :     2075,    -1,   296,    -1,    -1,  2080,   197,  2082,  5337,  2084,
   18518             :     5339,   202,  2087,  2088,  2089,    -1,    -1,    -1,   312,    -1,
   18519             :     2095,   315,    -1,  2098,    -1,    -1,    -1,    -1,    -1,    -1,
   18520             :       -1,    -1,    -1,    -1,   225,   226,    -1,    -1,  2113,  2114,
   18521             :     2115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18522             :       -1,  4012,    -1,    -1,    -1,  5684,  2131,    -1,    -1,    -1,
   18523             :       -1,  5390,   253,    -1,    -1,    -1,    -1,    -1,    -1,  5698,
   18524             :      515,  5400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18525             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18526             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18527             :       -1,  5730,    -1,    -1,    -1,   296,    -1,    -1,    -1,    -1,
   18528             :       -1,  5440,    -1,    -1,   408,    -1,  5445,    -1,    -1,    -1,
   18529             :       -1,   312,    -1,    -1,   315,    -1,    -1,    10,    -1,    -1,
   18530             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18531             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18532             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18533             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18534             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18535             :     5809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18536             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18537             :       -1,    -1,    -1,    -1,  2279,    -1,    -1,    -1,    -1,    -1,
   18538             :       -1,    -1,    -1,    -1,    -1,    -1,  5845,   408,    -1,    -1,
   18539             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18540             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18541             :       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
   18542             :       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2333,    -1,
   18543             :       -1,    -1,    -1,    -1,    -1,    -1,    35,    -1,   151,    -1,
   18544             :       -1,    -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,
   18545             :       -1,    -1,    -1,    52,    -1,  2592,    -1,    -1,    -1,    -1,
   18546             :       -1,    -1,  5921,  4554,    -1,  5924,    -1,    -1,    -1,    -1,
   18547             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    78,
   18548             :       -1,    -1,    -1,    -1,   197,  2390,    -1,    -1,    -1,   202,
   18549             :       -1,    -1,    -1,    -1,   515,  4586,    -1,    -1,    -1,    -1,
   18550             :       -1,    -1,    -1,   524,   525,   526,   527,   528,   529,   530,
   18551             :      531,   532,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,
   18552             :       -1,    -1,    -1,    -1,    -1,  5684,    -1,  4618,    -1,    -1,
   18553             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5698,
   18554             :      253,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
   18555             :       -1,  2688,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
   18556             :       -1,    -1,  4653,  2700,    -1,    -1,    -1,    -1,  2705,    -1,
   18557             :       35,  5730,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4670,
   18558             :       45,    -1,    -1,   296,    -1,    -1,    -1,    52,    -1,    -1,
   18559             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   197,   312,
   18560             :       -1,    -1,   315,   202,    -1,    -1,    -1,    -1,    -1,    -1,
   18561             :     6069,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,    -1,
   18562             :       -1,    -1,    -1,    -1,    -1,    -1,   225,   226,    -1,    -1,
   18563             :       -1,    -1,    -1,    -1,  6093,    -1,    -1,    -1,    -1,    -1,
   18564             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18565             :     5809,    -1,    -1,    -1,   253,    -1,    -1,    -1,    -1,    -1,
   18566             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18567             :     2575,  2576,  2577,  2578,  2579,  2580,  2581,  2582,  2583,    -1,
   18568             :     2585,    -1,    -1,    -1,    -1,    -1,  5845,    -1,    -1,    -1,
   18569             :       -1,  2596,    -1,  2598,    -1,   408,    -1,   296,    -1,    -1,
   18570             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   172,    -1,    -1,
   18571             :       -1,    -1,    -1,   312,    -1,    -1,   315,    -1,    -1,    -1,
   18572             :       -1,    -1,    -1,    -1,  4815,  4816,  4817,  4818,    -1,    -1,
   18573             :       -1,  2636,   197,    -1,    -1,  2640,    -1,   202,  2643,  4530,
   18574             :     2645,    -1,    -1,  2648,    -1,    -1,    -1,    -1,    -1,    -1,
   18575             :       -1,    -1,    -1,  4544,    -1,    -1,    -1,    -1,    -1,    -1,
   18576             :      225,   226,  5921,    -1,    -1,  5924,    -1,    -1,    -1,    -1,
   18577             :       -1,    -1,    -1,    -1,  6233,    -1,    -1,    -1,    -1,    -1,
   18578             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,    -1,
   18579             :       -1,    -1,    -1,    -1,    -1,    -1,  2701,  2702,    -1,    -1,
   18580             :       -1,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,   408,
   18581             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18582             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18583             :       -1,   296,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,
   18584             :       -1,    -1,    -1,    17,    18,    19,    -1,   312,    -1,    -1,
   18585             :      315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18586             :       -1,    35,    -1,    -1,    38,    -1,    -1,    -1,    -1,    -1,
   18587             :       -1,    45,    -1,    -1,    -1,    -1,  2781,    -1,    52,    -1,
   18588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18589             :      489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18590             :       -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,    -1,
   18591             :     6069,    -1,    -1,    -1,    -1,    -1,   515,    -1,    -1,    -1,
   18592             :       -1,    -1,    -1,    -1,  6083,   524,   525,   526,   527,   528,
   18593             :      529,   530,   531,   532,  6093,    -1,    -1,    -1,  6397,    -1,
   18594             :       -1,    -1,    -1,   408,    -1,    -1,    -1,    10,    -1,    -1,
   18595             :       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
   18596             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18597             :       -1,    -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18598             :       -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,    -1,    52,
   18599             :       -1,    -1,    -1,  6152,  6153,    -1,    -1,    -1,    -1,  6458,
   18600             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18601             :       -1,    -1,    -1,    -1,    -1,    78,    -1,    -1,    -1,    -1,
   18602             :       -1,    -1,    -1,   197,  6483,    -1,    -1,    -1,   202,    -1,
   18603             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18604             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18605             :      515,   225,   226,    -1,    -1,    -1,    -1,    -1,    -1,   524,
   18606             :      525,   526,   527,   528,   529,   530,   531,   532,    -1,    -1,
   18607             :       -1,    -1,    -1,    -1,  6233,    -1,  5167,    -1,    -1,   253,
   18608             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5178,    -1,    -1,
   18609             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18610             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18611             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3024,
   18612             :     3025,  3026,   296,    -1,    -1,  3030,    -1,    -1,    -1,    -1,
   18613             :       -1,    -1,  3269,    -1,   197,    -1,    -1,    -1,   312,   202,
   18614             :       -1,   315,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3286,
   18615             :       -1,    -1,  3057,    -1,    -1,    -1,    -1,    -1,    -1,  3296,
   18616             :       -1,    -1,   225,   226,    -1,  3302,    -1,    -1,  3305,    -1,
   18617             :       -1,    -1,    -1,    -1,    -1,  3312,  3313,    -1,  3315,    -1,
   18618             :       -1,    -1,    -1,  3320,  3321,    -1,  3323,    -1,  3325,    -1,
   18619             :      253,    -1,  3329,    -1,    -1,  3332,    -1,    -1,    -1,    -1,
   18620             :     3337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3346,
   18621             :       -1,    -1,    -1,    -1,  3351,    -1,    -1,    -1,    -1,    -1,
   18622             :       -1,  3358,  3359,  3360,  3361,    -1,    -1,    -1,    -1,  3366,
   18623             :     3367,    -1,  3369,   296,   408,    -1,    -1,    -1,  6397,    -1,
   18624             :       -1,  5032,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   312,
   18625             :       -1,  3388,   315,  3390,    -1,    -1,  5047,    -1,    -1,    -1,
   18626             :     3397,  3398,  3399,  3400,  3401,  3402,  3403,  3404,  3405,  3406,
   18627             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18628             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18629             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6458,
   18630             :       -1,    -1,    -1,    -1,    -1,    -1,  3443,    -1,    -1,    -1,
   18631             :       -1,    -1,  6471,  6472,    -1,    -1,    -1,    -1,    -1,    -1,
   18632             :       -1,    -1,    -1,    -1,  6483,    -1,    -1,    -1,    -1,    -1,
   18633             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18634             :       -1,   515,    -1,    -1,    -1,   408,    -1,    -1,  5139,    -1,
   18635             :      524,   525,   526,   527,   528,   529,   530,   531,   532,    -1,
   18636             :       -1,  3266,    -1,    -1,    -1,    -1,  3271,    -1,    -1,    -1,
   18637             :       -1,    -1,    -1,  5464,    -1,    -1,    -1,    -1,  5469,    -1,
   18638             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18639             :       -1,    -1,    -1,    -1,    -1,    20,    -1,  5488,    -1,    -1,
   18640             :       -1,    -1,    -1,    -1,    -1,    -1,    31,    -1,    33,    34,
   18641             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3322,    -1,    -1,
   18642             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3333,    -1,
   18643             :     3335,  3336,    -1,    -1,    -1,    -1,    61,    -1,    -1,    -1,
   18644             :       -1,    -1,    -1,    -1,  3349,    -1,  3583,  3352,    73,  3354,
   18645             :       75,    76,   515,    -1,    -1,    -1,    -1,    82,    -1,    84,
   18646             :       -1,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   18647             :       -1,    -1,    97,    -1,    99,    -1,    -1,    -1,    -1,    -1,
   18648             :       -1,    -1,    -1,    23,    -1,    -1,  3391,    -1,  3393,    -1,
   18649             :     3395,   116,    -1,    -1,   119,    -1,    -1,    -1,    -1,    -1,
   18650             :       -1,    41,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   134,
   18651             :       -1,   136,    -1,    -1,    -1,   140,    -1,    -1,    -1,    -1,
   18652             :       -1,    -1,   147,    -1,    -1,    -1,    66,    -1,    -1,    -1,
   18653             :       -1,    -1,   157,    -1,   159,    -1,    -1,    -1,    -1,    79,
   18654             :       -1,   166,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18655             :       -1,    -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,   184,
   18656             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18657             :       -1,    -1,    -1,  5364,   114,  5366,   201,    -1,    -1,    -1,
   18658             :      120,    -1,    -1,    -1,  3489,    -1,    -1,    -1,    -1,  3494,
   18659             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,
   18660             :       -1,    -1,    -1,    -1,  3509,    -1,    -1,    -1,    -1,    -1,
   18661             :       -1,    -1,   152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18662             :       -1,   161,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18663             :      255,   256,    -1,    -1,   174,    -1,   261,    -1,    -1,    -1,
   18664             :       -1,    -1,    -1,   183,    -1,    -1,    -1,   187,    -1,    -1,
   18665             :       -1,   276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18666             :       -1,  5752,    -1,    -1,    -1,    -1,    -1,   207,    -1,  3574,
   18667             :      295,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18668             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5780,
   18669             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18670             :       -1,    -1,  3839,  3840,    -1,    -1,    -1,  3844,    -1,    -1,
   18671             :       -1,    -1,    -1,    -1,    -1,  5506,    -1,   257,    -1,   344,
   18672             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,  3634,
   18673             :       -1,    -1,    -1,    -1,   359,    -1,  3873,    -1,    -1,   364,
   18674             :      365,    -1,   367,    -1,    -1,    -1,    -1,   372,    -1,    -1,
   18675             :      375,    -1,    -1,   378,    -1,    -1,   381,    -1,    -1,    -1,
   18676             :       -1,    -1,    -1,   388,    -1,    -1,    -1,    -1,    -1,    -1,
   18677             :      395,   396,   312,    -1,    -1,   315,    -1,    -1,   403,    -1,
   18678             :       -1,    -1,   407,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18679             :       -1,    -1,    -1,   418,    -1,    -1,    -1,    -1,    -1,   339,
   18680             :     5891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18681             :      435,    -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,
   18682             :      360,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18683             :       -1,   456,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18684             :      380,    -1,    -1,   468,    -1,    -1,    -1,    -1,    -1,   474,
   18685             :      390,    -1,    -1,    -1,   479,    -1,    -1,   397,    -1,    -1,
   18686             :      400,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   493,    -1,
   18687             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18688             :      420,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,
   18689             :       -1,    -1,   517,    -1,    -1,   435,    -1,  5688,   438,  5690,
   18690             :      440,    -1,   442,   443,    -1,    -1,    -1,    -1,    -1,    -1,
   18691             :       -1,   536,    -1,    -1,   539,    -1,    -1,    -1,   458,    -1,
   18692             :       -1,    -1,    -1,    -1,    -1,    -1,   466,    -1,    -1,   469,
   18693             :     3835,  4068,   472,    -1,    -1,    -1,  3841,  4074,    -1,    -1,
   18694             :       -1,    -1,    -1,    -1,    -1,   485,    -1,    -1,    -1,    -1,
   18695             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18696             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18697             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18698             :       -1,    -1,    -1,    -1,  4121,  4122,    -1,    -1,  4125,  4126,
   18699             :     4127,  4128,    -1,    -1,  4131,  4132,  4133,  4134,  4135,  4136,
   18700             :     4137,  4138,  4139,  4140,  4141,    -1,    -1,    -1,    -1,    -1,
   18701             :       -1,    23,    -1,    -1,    -1,  3920,    28,    -1,    -1,    -1,
   18702             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4164,    -1,    -1,
   18703             :     4167,    -1,  4169,    -1,    -1,  4172,  4173,    -1,    -1,    -1,
   18704             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18705             :       -1,    -1,    -1,    -1,    66,    -1,    -1,  4194,  4195,  4196,
   18706             :     4197,    -1,  4199,    -1,    -1,    -1,    -1,    79,    -1,    -1,
   18707             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18708             :       -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
   18709             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18710             :       -1,    -1,   114,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18711             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18712             :       -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,    -1,
   18713             :       -1,    -1,  4269,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18714             :      152,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   161,
   18715             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    28,    -1,    -1,
   18716             :       -1,    -1,   174,    -1,  4069,    -1,    -1,    -1,   180,    -1,
   18717             :       -1,  5962,    -1,  4078,    -1,    -1,    -1,    -1,    -1,    -1,
   18718             :       -1,    -1,  4319,    -1,    -1,    -1,    -1,  4092,    -1,    -1,
   18719             :       -1,  4096,  4097,  4098,    -1,   207,    -1,    -1,  4103,    -1,
   18720             :       -1,  4106,    -1,    -1,  4109,    -1,    -1,    -1,    79,    -1,
   18721             :     4115,    -1,  4117,    -1,    -1,    -1,    -1,  4354,    -1,    -1,
   18722             :       -1,    -1,    -1,    -1,    -1,    96,    -1,    -1,    -1,    -1,
   18723             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4144,
   18724             :     4145,  4146,    -1,   114,    -1,    -1,    -1,    -1,    -1,   120,
   18725             :       -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,  4163,    -1,
   18726             :       -1,    -1,    -1,    -1,    -1,    -1,  4171,   138,    -1,  4174,
   18727             :       -1,  4176,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18728             :       -1,   152,    -1,    -1,    -1,    -1,    -1,  4192,    -1,    -1,
   18729             :      161,    -1,    -1,    -1,    -1,  4200,  4201,    -1,    -1,    -1,
   18730             :      312,    -1,  4207,   174,  6095,    -1,    -1,    -1,    -1,   180,
   18731             :       -1,    -1,    -1,    -1,    -1,    -1,   187,    -1,    -1,    -1,
   18732             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18733             :       -1,  4236,    -1,    -1,    -1,    -1,   207,   349,   350,    -1,
   18734             :       -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18735             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18736             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   380,    -1,
   18737             :       -1,   383,    -1,    -1,   245,    -1,    -1,    -1,   390,    -1,
   18738             :       -1,    -1,  4287,    -1,    -1,   397,    -1,    -1,   400,    -1,
   18739             :       -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,    -1,  4304,
   18740             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   420,  4546,
   18741             :       -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,    -1,
   18742             :       -1,    -1,    -1,   435,    -1,    -1,   438,    -1,    -1,    -1,
   18743             :       -1,   443,    -1,    -1,    -1,    -1,  6227,    -1,    -1,   451,
   18744             :       -1,   312,    -1,    -1,    -1,    -1,   458,    -1,    -1,    -1,
   18745             :       -1,    -1,    -1,  4590,    -1,    -1,    -1,    -1,    -1,    -1,
   18746             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   339,  6260,
   18747             :     6261,    -1,    -1,   485,    -1,    -1,    -1,    -1,   349,   350,
   18748             :       -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18749             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18750             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   380,
   18751             :       -1,    -1,   383,    -1,    -1,    -1,   387,    -1,    -1,   390,
   18752             :       -1,    -1,    -1,    -1,    -1,    -1,   397,    -1,    -1,   400,
   18753             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18754             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   420,
   18755             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   428,    -1,    -1,
   18756             :       -1,    -1,   433,    -1,   435,    -1,    -1,   438,    -1,    -1,
   18757             :       -1,    -1,   443,    -1,    -1,  4712,    -1,    -1,    -1,  4716,
   18758             :       -1,    -1,   453,    -1,    -1,    -1,    -1,   458,    -1,    -1,
   18759             :       -1,    -1,  4729,    -1,    -1,    -1,  6387,    -1,    -1,    -1,
   18760             :     4737,   472,  4739,    -1,  4741,  4742,    -1,    -1,    -1,    -1,
   18761             :     4747,  4748,  4749,  4750,   485,    -1,    -1,  4754,  4755,  4756,
   18762             :     4757,  4758,  4759,  4760,  4761,  4762,  4763,  4764,  4765,  4766,
   18763             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18764             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18765             :       -1,    -1,    -1,  4790,    -1,    -1,  4793,    -1,  4795,    -1,
   18766             :       -1,    -1,  4799,    -1,    -1,  4802,  4803,    -1,    -1,  4806,
   18767             :     4807,    -1,    -1,    -1,    -1,  4812,    -1,    -1,    -1,    -1,
   18768             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18769             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18770             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18771             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18772             :       -1,    -1,    -1,    -1,    -1,  4630,  4631,    -1,    -1,  4866,
   18773             :       -1,    -1,    -1,    -1,    -1,    -1,  4641,    -1,    -1,    -1,
   18774             :       -1,    -1,    -1,  4880,    -1,    -1,    -1,    -1,    -1,    -1,
   18775             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18776             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18777             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18778             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18779             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18780             :       -1,    -1,    -1,    -1,    -1,    -1,  4711,    -1,    -1,    -1,
   18781             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18782             :       -1,    -1,  4727,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18783             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18784             :     4745,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18785             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18786             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18787             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4784,
   18788             :     4785,    -1,    -1,    -1,    -1,    -1,  4791,  4792,    -1,    -1,
   18789             :       -1,  4796,    -1,    -1,    -1,    -1,  4801,    -1,    -1,  4804,
   18790             :     4805,    -1,    -1,    -1,    -1,    -1,  4811,    -1,    -1,    -1,
   18791             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18792             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18793             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18794             :       -1,    -1,    -1,    -1,  5081,    -1,    -1,    -1,    -1,    -1,
   18795             :       -1,  4856,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18796             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18797             :     4875,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18798             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18799             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18800             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18801             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4922,    -1,    -1,
   18802             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18803             :       -1,    -1,  5169,  5170,    -1,    -1,    -1,    -1,    -1,    -1,
   18804             :     5177,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18805             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18806             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18807             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18808             :       -1,    -1,    -1,  5220,    -1,    -1,    -1,    -1,    -1,    -1,
   18809             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5003,    -1,
   18810             :       -1,    -1,    -1,    -1,    -1,  5010,  5243,  5244,    -1,    -1,
   18811             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18812             :       -1,    -1,    -1,    -1,    -1,  5262,    -1,  5264,    -1,    -1,
   18813             :       -1,  5268,  5269,  5270,  5271,    -1,    -1,  5274,  5275,    -1,
   18814             :       -1,    -1,    -1,  5280,    -1,    -1,    -1,    -1,    -1,    -1,
   18815             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18816             :     5297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18817             :       -1,    -1,    -1,  5078,    -1,    -1,    -1,    -1,  5315,    -1,
   18818             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18819             :       -1,    -1,    -1,  5330,    -1,    -1,    -1,    -1,    -1,    -1,
   18820             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18821             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18822             :       -1,    -1,    -1,  5360,    -1,    -1,    -1,    -1,    -1,    -1,
   18823             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18824             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18825             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18826             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18827             :       -1,    -1,    -1,    -1,  5411,    -1,  5413,    -1,    -1,    -1,
   18828             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18829             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18830             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18831             :       -1,  5448,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18832             :       -1,    -1,    -1,    -1,    -1,    -1,  5231,    -1,    -1,    -1,
   18833             :       -1,    -1,    -1,    -1,    -1,    -1,  5241,    -1,    -1,    -1,
   18834             :       -1,    -1,  5247,  5248,  5249,    -1,    -1,    -1,    -1,    -1,
   18835             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18836             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5272,  5273,    -1,
   18837             :       -1,  5276,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18838             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5293,    -1,
   18839             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5303,    -1,
   18840             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5314,
   18841             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5322,    -1,  5556,
   18842             :       -1,  5558,  5559,  5560,  5561,  5562,  5331,    -1,    -1,    -1,
   18843             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5575,  5576,
   18844             :     5577,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5585,    -1,
   18845             :       -1,    -1,    -1,  5590,    -1,    -1,  5593,    -1,    -1,    -1,
   18846             :     5597,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18847             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5615,    -1,
   18848             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18849             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5634,    -1,    -1,
   18850             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18851             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18852             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18853             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18854             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18855             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18856             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18857             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18858             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18859             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18860             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18861             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18862             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18863             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5542,    -1,    -1,
   18864             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18865             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5563,    -1,
   18866             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18867             :       -1,    -1,    -1,  5810,    -1,    -1,    -1,    -1,    -1,    -1,
   18868             :       -1,    -1,    -1,    -1,  5821,    -1,    -1,    -1,    -1,    -1,
   18869             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18870             :       -1,    -1,    -1,  5608,    -1,  5842,    -1,  5844,    -1,    -1,
   18871             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18872             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18873             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18874             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18875             :       -1,    -1,    -1,    -1,    -1,  5660,    -1,    -1,  5895,    -1,
   18876             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18877             :     5907,  5676,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18878             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18879             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18880             :       -1,    -1,    -1,    -1,    -1,    -1,  5943,    -1,    -1,    -1,
   18881             :       -1,    -1,    -1,  5718,    -1,    -1,    -1,    -1,    -1,    -1,
   18882             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18883             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18884             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18885             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18886             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18887             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18888             :       -1,    -1,    -1,    -1,    -1,    -1,  6023,    -1,    -1,    -1,
   18889             :       -1,    -1,    -1,  6030,    -1,    -1,    -1,    -1,    -1,    -1,
   18890             :       -1,    -1,    -1,  5808,    -1,    -1,    -1,    -1,    -1,    -1,
   18891             :       -1,    -1,    -1,    -1,    -1,  5820,    -1,    -1,    -1,    -1,
   18892             :       -1,    -1,    -1,    -1,  5829,  5830,  5831,    -1,    -1,  6066,
   18893             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18894             :       -1,    -1,    -1,    -1,  6081,    -1,    -1,    -1,    -1,    -1,
   18895             :       -1,    -1,  5857,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18896             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18897             :       -1,  5876,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18898             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18899             :       -1,  5896,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18900             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18901             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18902             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18903             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18904             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18905             :       -1,    -1,  6189,  6190,    -1,    -1,  6193,    -1,    -1,    -1,
   18906             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18907             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18908             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18909             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18910             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18911             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18912             :     6257,    -1,  6027,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18913             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18914             :       -1,    -1,    -1,    -1,    -1,  6282,    -1,  6052,    -1,    -1,
   18915             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18916             :       -1,    -1,    -1,  6300,  6301,    -1,  6303,    -1,    -1,    -1,
   18917             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18918             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18919             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18920             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18921             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18922             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  6134,
   18923             :       -1,    -1,    -1,    -1,    -1,  6372,    -1,    -1,    -1,    -1,
   18924             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18925             :       -1,    -1,    -1,  6158,    -1,    -1,    -1,    -1,    -1,    -1,
   18926             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18927             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18928             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18929             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18930             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18931             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18932             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18933             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18934             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18935             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18936             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   18937             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   18938             :       -1,    -1,    -1,    -1,    -1,  6290,    20,    21,    22,    23,
   18939             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   18940             :       -1,  6306,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   18941             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   18942             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   18943             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   18944             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   18945             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   18946             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   18947             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   18948             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   18949             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   18950             :      134,   135,    -1,   137,   138,   139,   140,   141,    -1,   143,
   18951             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   18952             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   18953             :      164,   165,  6437,   167,   168,   169,   170,   171,    -1,   173,
   18954             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   18955             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   18956             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   18957             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   18958             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   18959             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   18960             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   18961             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   18962             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   18963             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   18964             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   18965             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   18966             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   18967             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   18968             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   18969             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   18970             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   18971             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   18972             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   18973             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   18974             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   18975             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   18976             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   18977             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   18978             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   18979             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   18980             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   18981             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   18982             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   18983             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   18984             :      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
   18985             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   18986             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   18987             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   18988             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   18989             :       -1,    -1,    -1,   527,   528,   529,    -1,    -1,    -1,    -1,
   18990             :       -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,     8,
   18991             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   18992             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   18993             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   18994             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   18995             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   18996             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   18997             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   18998             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   18999             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19000             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   19001             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   19002             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   19003             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   19004             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   19005             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   19006             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   19007             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   19008             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   19009             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   19010             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   19011             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   19012             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   19013             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   19014             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   19015             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   19016             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   19017             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   19018             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   19019             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   19020             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   19021             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   19022             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   19023             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   19024             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   19025             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   19026             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   19027             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   19028             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   19029             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   19030             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   19031             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   19032             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   19033             :      429,   430,    -1,   432,   433,   434,   435,   436,   437,   438,
   19034             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   19035             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   19036             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   19037             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   19038             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   19039             :       -1,    -1,   491,    -1,   493,   494,   495,   496,   497,   498,
   19040             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   19041             :      509,   510,   511,   512,   513,    -1,   515,    -1,   517,    -1,
   19042             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   19043             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,     3,
   19044             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   19045             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19046             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19047             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19048             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19049             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19050             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19051             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19052             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19053             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19054             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19055             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19056             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19057             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19058             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19059             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19060             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19061             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19062             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19063             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19064             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19065             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19066             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19067             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19068             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19069             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19070             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19071             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19072             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19073             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19074             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19075             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19076             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19077             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19078             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19079             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19080             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19081             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19082             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19083             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19084             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19085             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19086             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19087             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19088             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19089             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19090             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19091             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19092             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19093             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19094             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19095             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19096             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,    -1,
   19097             :       -1,    -1,   536,   537,     3,    -1,     5,     6,    -1,     8,
   19098             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   19099             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   19100             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   19101             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   19102             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   19103             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   19104             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   19105             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   19106             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19107             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   19108             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   19109             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   19110             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   19111             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   19112             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   19113             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   19114             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   19115             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   19116             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   19117             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   19118             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   19119             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   19120             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   19121             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   19122             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   19123             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   19124             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   19125             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   19126             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   19127             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   19128             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   19129             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   19130             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   19131             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   19132             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   19133             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   19134             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   19135             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   19136             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   19137             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   19138             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   19139             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   19140             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   19141             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   19142             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   19143             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   19144             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   19145             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   19146             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   19147             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   19148             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   19149             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   19150             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,   537,     3,
   19151             :       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
   19152             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19153             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19154             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19155             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19156             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19157             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19158             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19159             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19160             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19161             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19162             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19163             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19164             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19165             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19166             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19167             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19168             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19169             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19170             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19171             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19172             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19173             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19174             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19175             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19176             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19177             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19178             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19179             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19180             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19181             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19182             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19183             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19184             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19185             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19186             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19187             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19188             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19189             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19190             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19191             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19192             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19193             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19194             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19195             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19196             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19197             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19198             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19199             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19200             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19201             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19202             :       -1,   515,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   19203             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,    -1,    -1,
   19204             :       -1,    -1,   536,   537,    20,    21,    22,    23,    24,    25,
   19205             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   19206             :       -1,    -1,    38,    -1,    40,    41,    42,    -1,    44,    45,
   19207             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   19208             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   19209             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19210             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   19211             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   19212             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   19213             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   19214             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   19215             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19216             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19217             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19218             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   19219             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19220             :      176,    -1,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19221             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19222             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   19223             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19224             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   19225             :       -1,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19226             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19227             :      246,    -1,    -1,   249,   250,   251,   252,    -1,    -1,   255,
   19228             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   19229             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19230             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19231             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   19232             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   19233             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19234             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   19235             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19236             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19237             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19238             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19239             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19240             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19241             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19242             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   19243             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   19244             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19245             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   19246             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   19247             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   19248             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19249             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   19250             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   19251             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19252             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19253             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   19254             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   19255             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19256             :       -1,   537,    20,    21,    22,    23,    24,    25,    26,    27,
   19257             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   19258             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19259             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   19260             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   19261             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   19262             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   19263             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   19264             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   19265             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   19266             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   19267             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   19268             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   19269             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   19270             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   19271             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   19272             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   19273             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   19274             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   19275             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   19276             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   19277             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19278             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   19279             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   19280             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   19281             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   19282             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   19283             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   19284             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   19285             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   19286             :      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
   19287             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   19288             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   19289             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   19290             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   19291             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   19292             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   19293             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   19294             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   19295             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   19296             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   19297             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   19298             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   19299             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   19300             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   19301             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   19302             :      478,    -1,   480,   481,   482,   483,   484,   485,   486,   487,
   19303             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   19304             :      498,   499,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   19305             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,
   19306             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   19307             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,   537,
   19308             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   19309             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   19310             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   19311             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   19312             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   19313             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   19314             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   19315             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   19316             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   19317             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   19318             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   19319             :      150,   151,   152,    -1,   154,   155,   156,   157,    -1,   159,
   19320             :      160,   161,   162,    -1,    -1,   165,    -1,   167,   168,   169,
   19321             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   19322             :      180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,
   19323             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   19324             :      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
   19325             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   19326             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   19327             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19328             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   19329             :       -1,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   19330             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   19331             :       -1,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   19332             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   19333             :       -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,
   19334             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   19335             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   19336             :      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
   19337             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   19338             :       -1,   341,    -1,   343,   344,   345,    -1,   347,   348,   349,
   19339             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   19340             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   19341             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   19342             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   19343             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   19344             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   19345             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   19346             :      420,   421,   422,   423,   424,   425,   426,   427,   428,    -1,
   19347             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   19348             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   19349             :      450,   451,    -1,   453,    -1,    -1,   456,   457,   458,   459,
   19350             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   19351             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,    -1,
   19352             :      480,   481,   482,   483,   484,   485,   486,   487,   488,    -1,
   19353             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   19354             :       -1,     3,    -1,     5,     6,    -1,     8,     9,    10,    11,
   19355             :       12,   511,   512,   513,    -1,    -1,    -1,    -1,    20,    21,
   19356             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   19357             :       32,    -1,    -1,    -1,    -1,    37,    -1,   537,    40,    41,
   19358             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   19359             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   19360             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   19361             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   19362             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   19363             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   19364             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   19365             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   19366             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   19367             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   19368             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   19369             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   19370             :      162,   163,   164,   165,    -1,   167,   168,   169,   170,   171,
   19371             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   19372             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   19373             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   19374             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   19375             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   19376             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   19377             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   19378             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   19379             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   19380             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   19381             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   19382             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   19383             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   19384             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   19385             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   19386             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   19387             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   19388             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   19389             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   19390             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   19391             :      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
   19392             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   19393             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   19394             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   19395             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   19396             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   19397             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   19398             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   19399             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   19400             :      462,   463,   464,    -1,   466,   467,   468,   469,   470,   471,
   19401             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   19402             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   19403             :       -1,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   19404             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   19405             :      512,   513,    -1,   515,    -1,   517,    -1,    -1,    -1,    -1,
   19406             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   19407             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   19408             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19409             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19410             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19411             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19412             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19413             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19414             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19415             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19416             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19417             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19418             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19419             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19420             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19421             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   19422             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19423             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   19424             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   19425             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   19426             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   19427             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   19428             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   19429             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19430             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19431             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   19432             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   19433             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19434             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19435             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19436             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19437             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   19438             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   19439             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19440             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   19441             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   19442             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19443             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19444             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19445             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19446             :      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
   19447             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19448             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19449             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   19450             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   19451             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   19452             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19453             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   19454             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   19455             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19456             :      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19457             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19458             :      513,    -1,   515,    -1,   517,    -1,    -1,    -1,    -1,    -1,
   19459             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   19460             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   19461             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19462             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   19463             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19464             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19465             :       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
   19466             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19467             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19468             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19469             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19470             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19471             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19472             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19473             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19474             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19475             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19476             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19477             :       -1,   175,   176,   177,   178,   179,   180,   181,   182,   183,
   19478             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19479             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19480             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19481             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19482             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19483             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19484             :      244,   245,   246,    -1,   248,   249,   250,   251,   252,   253,
   19485             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19486             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19487             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19488             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19489             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19490             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19491             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19492             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19493             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19494             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19495             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19496             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19497             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19498             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19499             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19500             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19501             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19502             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19503             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19504             :       -1,   445,   446,   447,    -1,   449,   450,   451,   452,   453,
   19505             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19506             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19507             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19508             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19509             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19510             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19511             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19512             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   19513             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   19514             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   19515             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   19516             :       -1,    36,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   19517             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   19518             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19519             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   19520             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   19521             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   19522             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   19523             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   19524             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   19525             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19526             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19527             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   19528             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   19529             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   19530             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   19531             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   19532             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   19533             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   19534             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   19535             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   19536             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   19537             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   19538             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   19539             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   19540             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   19541             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   19542             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   19543             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   19544             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   19545             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   19546             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   19547             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   19548             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   19549             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   19550             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   19551             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   19552             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   19553             :      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
   19554             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   19555             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   19556             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   19557             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   19558             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   19559             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   19560             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   19561             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   19562             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   19563             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   19564             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19565             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   19566             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   19567             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   19568             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   19569             :       36,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   19570             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   19571             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   19572             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19573             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   19574             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   19575             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   19576             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   19577             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   19578             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19579             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19580             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19581             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   19582             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19583             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19584             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19585             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   19586             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19587             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   19588             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19589             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19590             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   19591             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   19592             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19593             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19594             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   19595             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   19596             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19597             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   19598             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19599             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19600             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19601             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19602             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19603             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19604             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19605             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   19606             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   19607             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19608             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   19609             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   19610             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   19611             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19612             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   19613             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   19614             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19615             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19616             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   19617             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19618             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   19619             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   19620             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   19621             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   19622             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   19623             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   19624             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   19625             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   19626             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   19627             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   19628             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   19629             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   19630             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   19631             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   19632             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   19633             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   19634             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   19635             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   19636             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   19637             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   19638             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   19639             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   19640             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   19641             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   19642             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   19643             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   19644             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   19645             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   19646             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   19647             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   19648             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   19649             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   19650             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   19651             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   19652             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   19653             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   19654             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   19655             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   19656             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   19657             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   19658             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   19659             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   19660             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   19661             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   19662             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   19663             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   19664             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   19665             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   19666             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   19667             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   19668             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   19669             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   19670             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19671             :      527,   528,    -1,    -1,    -1,    -1,    -1,   534,   535,   536,
   19672             :        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
   19673             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   19674             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   19675             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   19676             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   19677             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   19678             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   19679             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   19680             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   19681             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   19682             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   19683             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   19684             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   19685             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   19686             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   19687             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   19688             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   19689             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   19690             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   19691             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   19692             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   19693             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   19694             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   19695             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   19696             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   19697             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   19698             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   19699             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   19700             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   19701             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   19702             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   19703             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   19704             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   19705             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   19706             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   19707             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   19708             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   19709             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   19710             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   19711             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   19712             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   19713             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   19714             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   19715             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   19716             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   19717             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   19718             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   19719             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   19720             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   19721             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   19722             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   19723             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19724             :       -1,    -1,    -1,    -1,   527,   528,   529,    -1,    -1,     3,
   19725             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   19726             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   19727             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   19728             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   19729             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   19730             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   19731             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   19732             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   19733             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   19734             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   19735             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   19736             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   19737             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   19738             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   19739             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   19740             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   19741             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   19742             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   19743             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   19744             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   19745             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   19746             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   19747             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   19748             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   19749             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   19750             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   19751             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   19752             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   19753             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   19754             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   19755             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   19756             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   19757             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   19758             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   19759             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   19760             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   19761             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   19762             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   19763             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   19764             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   19765             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   19766             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   19767             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   19768             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   19769             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   19770             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   19771             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   19772             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   19773             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   19774             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   19775             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   19776             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19777             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   19778             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   19779             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   19780             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   19781             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   19782             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   19783             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   19784             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   19785             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   19786             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   19787             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   19788             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   19789             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   19790             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   19791             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   19792             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   19793             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   19794             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   19795             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   19796             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   19797             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   19798             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   19799             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   19800             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   19801             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   19802             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   19803             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   19804             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   19805             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   19806             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   19807             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   19808             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   19809             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   19810             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   19811             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   19812             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   19813             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   19814             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   19815             :      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
   19816             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   19817             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   19818             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   19819             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   19820             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   19821             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   19822             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   19823             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   19824             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   19825             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   19826             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   19827             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   19828             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   19829             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19830             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   19831             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   19832             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   19833             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   19834             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   19835             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   19836             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   19837             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   19838             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   19839             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   19840             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   19841             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   19842             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   19843             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   19844             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   19845             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   19846             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   19847             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   19848             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   19849             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   19850             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   19851             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   19852             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   19853             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   19854             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   19855             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   19856             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   19857             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   19858             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   19859             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   19860             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   19861             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   19862             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   19863             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   19864             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   19865             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   19866             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   19867             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   19868             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   19869             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   19870             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   19871             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   19872             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   19873             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   19874             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   19875             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   19876             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   19877             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   19878             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   19879             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   19880             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   19881             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   19882             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19883             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   19884             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   19885             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   19886             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   19887             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   19888             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   19889             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   19890             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   19891             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   19892             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   19893             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   19894             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   19895             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   19896             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   19897             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   19898             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   19899             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   19900             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   19901             :      177,   178,   179,   180,   181,   182,   183,    -1,   185,   186,
   19902             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   19903             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   19904             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   19905             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   19906             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   19907             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   19908             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   19909             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   19910             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   19911             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   19912             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   19913             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   19914             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   19915             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   19916             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   19917             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   19918             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   19919             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   19920             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   19921             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   19922             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   19923             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   19924             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   19925             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   19926             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   19927             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   19928             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   19929             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   19930             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   19931             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   19932             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   19933             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   19934             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   19935             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   19936             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   19937             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   19938             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   19939             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   19940             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   19941             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   19942             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   19943             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   19944             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   19945             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   19946             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   19947             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   19948             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   19949             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   19950             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   19951             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   19952             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   19953             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   19954             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   19955             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   19956             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   19957             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   19958             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   19959             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   19960             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   19961             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   19962             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   19963             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   19964             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   19965             :      288,   289,   290,   291,   292,   293,   294,   295,   296,   297,
   19966             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   19967             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   19968             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   19969             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   19970             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   19971             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   19972             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   19973             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   19974             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   19975             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   19976             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   19977             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   19978             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   19979             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   19980             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   19981             :      448,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   19982             :      458,   459,   460,   461,   462,   463,   464,    -1,   466,   467,
   19983             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   19984             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   19985             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   19986             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   19987             :      508,   509,   510,   511,   512,   513,    -1,   515,    -1,    -1,
   19988             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   19989             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   19990             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   19991             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   19992             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   19993             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   19994             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   19995             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   19996             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   19997             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   19998             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   19999             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20000             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20001             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   20002             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20003             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20004             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   20005             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   20006             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   20007             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   20008             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   20009             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   20010             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   20011             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   20012             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   20013             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   20014             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   20015             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   20016             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   20017             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   20018             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   20019             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   20020             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   20021             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   20022             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   20023             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   20024             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   20025             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   20026             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   20027             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   20028             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   20029             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   20030             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   20031             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   20032             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   20033             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   20034             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   20035             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   20036             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   20037             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   20038             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   20039             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   20040             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   20041             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   20042             :       -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,     9,
   20043             :       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20044             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20045             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   20046             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20047             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20048             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   20049             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20050             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20051             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20052             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20053             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20054             :      120,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20055             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20056             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20057             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20058             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   20059             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20060             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20061             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20062             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20063             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20064             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20065             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20066             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   20067             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20068             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20069             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20070             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20071             :      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
   20072             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20073             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20074             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20075             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20076             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20077             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20078             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20079             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20080             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20081             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20082             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20083             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20084             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20085             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20086             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20087             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   20088             :      460,   461,   462,   463,   464,    -1,   466,   467,   468,   469,
   20089             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20090             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20091             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20092             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20093             :      510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,
   20094             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,
   20095             :       -1,    -1,     3,    -1,     5,     6,   536,     8,     9,    10,
   20096             :       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   20097             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   20098             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,
   20099             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   20100             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   20101             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   20102             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   20103             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   20104             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   20105             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   20106             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   20107             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   20108             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   20109             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   20110             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   20111             :      161,   162,   163,   164,   165,    -1,   167,   168,   169,   170,
   20112             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   20113             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   20114             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   20115             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   20116             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   20117             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   20118             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   20119             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   20120             :      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
   20121             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   20122             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   20123             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   20124             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   20125             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   20126             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   20127             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   20128             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   20129             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   20130             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   20131             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   20132             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   20133             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   20134             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   20135             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   20136             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   20137             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   20138             :       -1,   432,   433,   434,    -1,   436,   437,   438,   439,   440,
   20139             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   20140             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   20141             :      461,   462,   463,   464,    -1,   466,   467,   468,   469,   470,
   20142             :      471,   472,    -1,   474,   475,   476,   477,   478,   479,   480,
   20143             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   20144             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   20145             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   20146             :      511,   512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,
   20147             :       -1,    -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,
   20148             :       -1,     3,    -1,     5,     6,   536,     8,     9,    10,    11,
   20149             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   20150             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   20151             :       32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,
   20152             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   20153             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   20154             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   20155             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   20156             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   20157             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   20158             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   20159             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   20160             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   20161             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   20162             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   20163             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   20164             :      162,   163,   164,   165,    -1,   167,   168,   169,   170,   171,
   20165             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   20166             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   20167             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   20168             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   20169             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   20170             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   20171             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   20172             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   20173             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   20174             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   20175             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   20176             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   20177             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   20178             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   20179             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   20180             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   20181             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   20182             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   20183             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   20184             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   20185             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   20186             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   20187             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   20188             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   20189             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   20190             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   20191             :      432,   433,   434,    -1,   436,   437,   438,   439,   440,   441,
   20192             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   20193             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   20194             :      462,   463,   464,    -1,   466,   467,   468,   469,   470,   471,
   20195             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   20196             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   20197             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   20198             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   20199             :      512,   513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,
   20200             :       -1,    -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,
   20201             :        3,    -1,     5,     6,   536,     8,     9,    10,    11,    12,
   20202             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   20203             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   20204             :       -1,    -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,
   20205             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20206             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20207             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    -1,
   20208             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   20209             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   20210             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   20211             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   20212             :      113,   114,   115,   116,   117,   118,   119,   120,   121,    -1,
   20213             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   20214             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   20215             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   20216             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   20217             :      163,   164,   165,    -1,   167,   168,   169,   170,   171,    -1,
   20218             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   20219             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   20220             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   20221             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   20222             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   20223             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   20224             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   20225             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   20226             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   20227             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   20228             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   20229             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   20230             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   20231             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   20232             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   20233             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   20234             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   20235             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   20236             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   20237             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   20238             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   20239             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   20240             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   20241             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   20242             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   20243             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   20244             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   20245             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   20246             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   20247             :      463,   464,    -1,   466,   467,   468,   469,   470,   471,   472,
   20248             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   20249             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   20250             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   20251             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   20252             :      513,    -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20253             :       -1,    -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,
   20254             :       -1,     5,     6,   536,     8,     9,    10,    11,    12,    -1,
   20255             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20256             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20257             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20258             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20259             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20260             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20261             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20262             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20263             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20264             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20265             :      114,   115,   116,   117,   118,   119,   120,   121,    -1,   123,
   20266             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20267             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20268             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20269             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20270             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20271             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20272             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20273             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20274             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20275             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20276             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20277             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20278             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20279             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20280             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20281             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20282             :      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
   20283             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20284             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20285             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20286             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20287             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20288             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20289             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20290             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20291             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20292             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20293             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20294             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20295             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20296             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20297             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20298             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20299             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20300             :      464,    -1,   466,   467,   468,   469,   470,   471,   472,    -1,
   20301             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20302             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20303             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20304             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20305             :       -1,   515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20306             :       -1,    -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,
   20307             :        5,     6,   536,     8,     9,    10,    11,    12,    -1,    -1,
   20308             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   20309             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   20310             :       -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,
   20311             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   20312             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   20313             :       65,    66,    67,    68,    69,    70,    71,    -1,    73,    74,
   20314             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   20315             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   20316             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,   104,
   20317             :      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
   20318             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   20319             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   20320             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   20321             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   20322             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   20323             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   20324             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   20325             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   20326             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   20327             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   20328             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   20329             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   20330             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   20331             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   20332             :      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
   20333             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   20334             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   20335             :      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
   20336             :      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
   20337             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   20338             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   20339             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   20340             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   20341             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   20342             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   20343             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   20344             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   20345             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   20346             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   20347             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   20348             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   20349             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,   434,
   20350             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   20351             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   20352             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   20353             :       -1,   466,   467,   468,   469,   470,   471,   472,    -1,   474,
   20354             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   20355             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   20356             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   20357             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   20358             :      515,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20359             :       -1,    -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,
   20360             :        6,   536,     8,     9,    10,    11,    12,    -1,    -1,    -1,
   20361             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   20362             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20363             :       -1,    37,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20364             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20365             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    65,
   20366             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20367             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20368             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20369             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20370             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20371             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   20372             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   20373             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   20374             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   20375             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   20376             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   20377             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   20378             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   20379             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   20380             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   20381             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   20382             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   20383             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   20384             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   20385             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   20386             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   20387             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   20388             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   20389             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   20390             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   20391             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   20392             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   20393             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   20394             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   20395             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   20396             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   20397             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   20398             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   20399             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   20400             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   20401             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   20402             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   20403             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   20404             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,   455,
   20405             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   20406             :      466,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   20407             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   20408             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   20409             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   20410             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,   515,
   20411             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20412             :       -1,   527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,
   20413             :      536,     8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,
   20414             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   20415             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20416             :       37,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20417             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20418             :       -1,    58,    59,    60,    61,    62,    63,    64,    65,    66,
   20419             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20420             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20421             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20422             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20423             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20424             :      117,   118,   119,   120,   121,    -1,   123,   124,   125,   126,
   20425             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20426             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20427             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   20428             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   20429             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   20430             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   20431             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   20432             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   20433             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   20434             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   20435             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20436             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   20437             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   20438             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20439             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20440             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20441             :      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
   20442             :      297,   298,   299,   300,   301,   302,   303,   304,   305,    -1,
   20443             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   20444             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20445             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   20446             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   20447             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20448             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20449             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20450             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20451             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   20452             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20453             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20454             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20455             :      427,   428,   429,   430,    -1,   432,   433,   434,    -1,   436,
   20456             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   20457             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   20458             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,   466,
   20459             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   20460             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   20461             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   20462             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20463             :      507,   508,   509,   510,   511,   512,   513,    -1,   515,    -1,
   20464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20465             :      527,   528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,
   20466             :        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20467             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20468             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20469             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20470             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20471             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20472             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20473             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20474             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20475             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20476             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20477             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   20478             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20479             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20480             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   20481             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   20482             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   20483             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   20484             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   20485             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   20486             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   20487             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   20488             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20489             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   20490             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   20491             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20492             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20493             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20494             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   20495             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   20496             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   20497             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20498             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   20499             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   20500             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20501             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20502             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20503             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20504             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20505             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20506             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20507             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20508             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   20509             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   20510             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   20511             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   20512             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   20513             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   20514             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20515             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20516             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   20517             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,
   20518             :      528,    -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,
   20519             :        9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
   20520             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   20521             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,
   20522             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   20523             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   20524             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   20525             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   20526             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   20527             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   20528             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   20529             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   20530             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   20531             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   20532             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   20533             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   20534             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   20535             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   20536             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   20537             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   20538             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   20539             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   20540             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,   228,
   20541             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   20542             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   20543             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   20544             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   20545             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   20546             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   20547             :      289,   290,   291,   292,   293,   294,   295,    -1,   297,   298,
   20548             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   20549             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   20550             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   20551             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   20552             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   20553             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   20554             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   20555             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   20556             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   20557             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   20558             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   20559             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   20560             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   20561             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   20562             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   20563             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   20564             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   20565             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   20566             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   20567             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   20568             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   20569             :      509,   510,   511,   512,   513,    -1,   515,    -1,    -1,    -1,
   20570             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,
   20571             :       -1,    -1,    -1,     3,    -1,     5,     6,   536,     8,     9,
   20572             :       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20573             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20574             :       30,    31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,
   20575             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20576             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20577             :       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
   20578             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20579             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20580             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20581             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20582             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20583             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20584             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20585             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20586             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20587             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   20588             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20589             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20590             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20591             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20592             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20593             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20594             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20595             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   20596             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20597             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20598             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20599             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20600             :      290,   291,   292,    -1,   294,   295,   296,   297,   298,   299,
   20601             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20602             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20603             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20604             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20605             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20606             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20607             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20608             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20609             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20610             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20611             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20612             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20613             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20614             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20615             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20616             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   20617             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   20618             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20619             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20620             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20621             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20622             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   20623             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   527,   528,     3,
   20624             :       -1,     5,     6,    -1,     8,     9,   536,    11,    12,    -1,
   20625             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   20626             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20627             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20628             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20629             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20630             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20631             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20632             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20633             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20634             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20635             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   20636             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20637             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20638             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20639             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20640             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20641             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20642             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20643             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20644             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20645             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20646             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20647             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20648             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20649             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20650             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20651             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20652             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   20653             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20654             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20655             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20656             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20657             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20658             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20659             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20660             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20661             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20662             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20663             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20664             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20665             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20666             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20667             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20668             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20669             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20670             :      464,    -1,    -1,   467,   468,   469,   470,   471,   472,    -1,
   20671             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20672             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20673             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20674             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20675             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20676             :       -1,    -1,    -1,   527,   528,     3,    -1,     5,     6,    -1,
   20677             :        8,     9,   536,    11,    12,    -1,    -1,    -1,    -1,    -1,
   20678             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   20679             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    37,
   20680             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   20681             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   20682             :       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
   20683             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   20684             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   20685             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   20686             :       98,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
   20687             :      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
   20688             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   20689             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   20690             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   20691             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   20692             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   20693             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   20694             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   20695             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   20696             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   20697             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   20698             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   20699             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   20700             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   20701             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   20702             :      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
   20703             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   20704             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   20705             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   20706             :      298,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   20707             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   20708             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   20709             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   20710             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   20711             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   20712             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   20713             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   20714             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   20715             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   20716             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   20717             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   20718             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   20719             :      428,   429,   430,    -1,   432,   433,   434,    -1,   436,   437,
   20720             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   20721             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   20722             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   20723             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   20724             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   20725             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   20726             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   20727             :      508,   509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,
   20728             :       -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,    -1,
   20729             :       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,
   20730             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   20731             :       31,    32,    -1,    -1,    -1,    -1,    37,    -1,    -1,    40,
   20732             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   20733             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   20734             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   20735             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   20736             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   20737             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   20738             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   20739             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   20740             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   20741             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   20742             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   20743             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   20744             :      161,   162,   163,   164,   165,    -1,   167,   168,   169,   170,
   20745             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   20746             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   20747             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   20748             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   20749             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   20750             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   20751             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   20752             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   20753             :      251,   252,   253,    -1,   255,   256,   257,   258,   259,   260,
   20754             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   20755             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   20756             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   20757             :      291,   292,    -1,   294,   295,   296,   297,   298,   299,   300,
   20758             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   20759             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   20760             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   20761             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   20762             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   20763             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   20764             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   20765             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   20766             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   20767             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   20768             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   20769             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   20770             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   20771             :       -1,   432,   433,   434,    -1,   436,   437,   438,   439,   440,
   20772             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   20773             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   20774             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   20775             :      471,   472,    -1,   474,   475,   476,   477,   478,   479,   480,
   20776             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   20777             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   20778             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   20779             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   20780             :       -1,     5,     6,    -1,     8,     9,    -1,    11,    12,    -1,
   20781             :       -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,
   20782             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   20783             :       -1,    -1,    -1,    37,    -1,    -1,    40,    41,    42,    -1,
   20784             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   20785             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   20786             :       64,    65,    66,    67,    68,    69,    70,    71,    -1,    73,
   20787             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   20788             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   20789             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   20790             :      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
   20791             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   20792             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   20793             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   20794             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   20795             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   20796             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   20797             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   20798             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   20799             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   20800             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   20801             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   20802             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   20803             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   20804             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   20805             :       -1,   255,   256,   257,   258,   259,   260,   261,   262,   263,
   20806             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   20807             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   20808             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   20809             :      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
   20810             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   20811             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   20812             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   20813             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   20814             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   20815             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   20816             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   20817             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   20818             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   20819             :      394,   395,    -1,   397,   398,   399,   400,   401,   402,   403,
   20820             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   20821             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   20822             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   20823             :      434,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   20824             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   20825             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   20826             :      464,    -1,    -1,   467,   468,   469,   470,   471,   472,    -1,
   20827             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   20828             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   20829             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   20830             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   20831             :       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
   20832             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20833             :       -1,    -1,   536,    20,    21,    22,    23,    24,    25,    26,
   20834             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   20835             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   20836             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   20837             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    66,
   20838             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   20839             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   20840             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   20841             :       97,    98,    -1,   100,   101,   102,   103,   104,   105,   106,
   20842             :      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
   20843             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   20844             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   20845             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   20846             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   20847             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   20848             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   20849             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   20850             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   20851             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   20852             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   20853             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   20854             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   20855             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   20856             :      247,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   20857             :      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
   20858             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   20859             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   20860             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   20861             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   20862             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   20863             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   20864             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   20865             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   20866             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   20867             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   20868             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   20869             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   20870             :      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
   20871             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   20872             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   20873             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   20874             :      427,   428,   429,   430,    -1,   432,   433,   434,   435,   436,
   20875             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   20876             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   20877             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   20878             :      467,   468,   469,   470,   471,   472,    -1,   474,   475,   476,
   20879             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   20880             :      487,   488,    -1,    -1,   491,    -1,   493,   494,   495,   496,
   20881             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   20882             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   20883             :      517,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   20884             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   20885             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   20886             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20887             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   20888             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   20889             :       60,    61,    62,    63,    64,    -1,    66,    67,    68,    69,
   20890             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   20891             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   20892             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   20893             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   20894             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   20895             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   20896             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   20897             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   20898             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   20899             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   20900             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   20901             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   20902             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   20903             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   20904             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   20905             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   20906             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   20907             :      240,   241,   242,   243,   244,   245,   246,   247,    -1,   249,
   20908             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   20909             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   20910             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   20911             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   20912             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   20913             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   20914             :       -1,   311,   312,   313,   314,    -1,    -1,   317,   318,   319,
   20915             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   20916             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   20917             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   20918             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   20919             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   20920             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   20921             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   20922             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   20923             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   20924             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   20925             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   20926             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   20927             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   20928             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   20929             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   20930             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   20931             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   20932             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   20933             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   20934             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   20935             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20936             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   20937             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   20938             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   20939             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   20940             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   20941             :       63,    64,    -1,    66,    67,    68,    69,    70,    71,    -1,
   20942             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   20943             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   20944             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   20945             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   20946             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   20947             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   20948             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   20949             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   20950             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   20951             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   20952             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   20953             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   20954             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   20955             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   20956             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   20957             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   20958             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   20959             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   20960             :      253,    -1,   255,   256,   257,   258,   259,   260,   261,   262,
   20961             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   20962             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   20963             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   20964             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   20965             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   20966             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   20967             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   20968             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   20969             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   20970             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   20971             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   20972             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   20973             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   20974             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   20975             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   20976             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   20977             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   20978             :      433,   434,    -1,   436,   437,   438,   439,   440,   441,   442,
   20979             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   20980             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   20981             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,   472,
   20982             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   20983             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   20984             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   20985             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   20986             :      513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   20987             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   20988             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   20989             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   20990             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   20991             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   20992             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   20993             :       66,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   20994             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   20995             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   20996             :       96,    97,    98,    -1,   100,   101,   102,   103,   104,   105,
   20997             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   20998             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   20999             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21000             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21001             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   21002             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   21003             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   21004             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   21005             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   21006             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   21007             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   21008             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   21009             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   21010             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21011             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   21012             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   21013             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21014             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   21015             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   21016             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   21017             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   21018             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   21019             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   21020             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   21021             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21022             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21023             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21024             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   21025             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21026             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   21027             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   21028             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21029             :      426,   427,   428,   429,   430,    -1,   432,   433,   434,    -1,
   21030             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   21031             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   21032             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   21033             :       -1,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   21034             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   21035             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   21036             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21037             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21038             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21039             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21040             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21041             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21042             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   21043             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   21044             :       59,    60,    61,    62,    63,    64,    -1,    66,    67,    68,
   21045             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21046             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   21047             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21048             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21049             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21050             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21051             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21052             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21053             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21054             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21055             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   21056             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21057             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   21058             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21059             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   21060             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   21061             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21062             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21063             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   21064             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21065             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21066             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21067             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   21068             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21069             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21070             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   21071             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21072             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21073             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21074             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21075             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21076             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21077             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21078             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21079             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21080             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21081             :      429,   430,    -1,   432,   433,   434,    -1,   436,   437,   438,
   21082             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21083             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21084             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21085             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   21086             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   21087             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21088             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21089             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21090             :       -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21091             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,
   21092             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   21093             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   21094             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   21095             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   21096             :       62,    63,    64,    -1,    66,    67,    68,    69,    70,    71,
   21097             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   21098             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   21099             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   21100             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   21101             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   21102             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   21103             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   21104             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   21105             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   21106             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   21107             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   21108             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   21109             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   21110             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   21111             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   21112             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   21113             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   21114             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   21115             :      252,   253,    -1,   255,   256,   257,   258,   259,   260,   261,
   21116             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   21117             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   21118             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   21119             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   21120             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   21121             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   21122             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   21123             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   21124             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   21125             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   21126             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   21127             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   21128             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   21129             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   21130             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   21131             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   21132             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   21133             :      432,   433,   434,    -1,   436,   437,   438,   439,   440,   441,
   21134             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   21135             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   21136             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   21137             :      472,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   21138             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   21139             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   21140             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   21141             :      512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,
   21142             :        5,     6,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,
   21143             :       -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,    24,
   21144             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   21145             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   21146             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   21147             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   21148             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   21149             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   21150             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   21151             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   21152             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   21153             :      115,   116,   117,   118,   119,   120,   121,    -1,   123,   124,
   21154             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   21155             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   21156             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   21157             :      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
   21158             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   21159             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   21160             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   21161             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   21162             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   21163             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   21164             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   21165             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   21166             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   21167             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   21168             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   21169             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   21170             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   21171             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   21172             :      305,    -1,   307,   308,   309,   310,    -1,   312,   313,   314,
   21173             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   21174             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   21175             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   21176             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   21177             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   21178             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   21179             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   21180             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   21181             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   21182             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   21183             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   21184             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   21185             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   21186             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   21187             :      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   21188             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   21189             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   21190             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   21191             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   21192             :      505,   506,   507,   508,   509,   510,   511,   512,   513,    -1,
   21193             :       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
   21194             :       -1,    -1,   527,   528,   529,    -1,    -1,    -1,    -1,    -1,
   21195             :       -1,   536,    20,    21,    22,    23,    24,    25,    26,    27,
   21196             :       28,    -1,    30,    31,    32,    33,    34,    -1,    -1,    -1,
   21197             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   21198             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   21199             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   21200             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   21201             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   21202             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   21203             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   21204             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   21205             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   21206             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   21207             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   21208             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   21209             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   21210             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   21211             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   21212             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   21213             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   21214             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   21215             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   21216             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   21217             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   21218             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   21219             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   21220             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   21221             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   21222             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   21223             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   21224             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   21225             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   21226             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   21227             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   21228             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   21229             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   21230             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   21231             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   21232             :      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
   21233             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   21234             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   21235             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   21236             :      428,   429,   430,    -1,   432,   433,    -1,   435,   436,   437,
   21237             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   21238             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   21239             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   21240             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   21241             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   21242             :      488,    -1,    -1,   491,    -1,   493,   494,   495,   496,   497,
   21243             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   21244             :      508,   509,   510,   511,   512,   513,   514,    -1,    -1,   517,
   21245             :       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21246             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,    20,
   21247             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   21248             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   21249             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   21250             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   21251             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   21252             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   21253             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   21254             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   21255             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   21256             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   21257             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   21258             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   21259             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   21260             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   21261             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   21262             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   21263             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   21264             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   21265             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   21266             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   21267             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   21268             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   21269             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   21270             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   21271             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   21272             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   21273             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   21274             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   21275             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   21276             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   21277             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   21278             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   21279             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   21280             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   21281             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   21282             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   21283             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   21284             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   21285             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   21286             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   21287             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   21288             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   21289             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   21290             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   21291             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   21292             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   21293             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   21294             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   21295             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   21296             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,     3,
   21297             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21298             :       -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,    23,
   21299             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   21300             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   21301             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   21302             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   21303             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   21304             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   21305             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   21306             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   21307             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   21308             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   21309             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   21310             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   21311             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   21312             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   21313             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   21314             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   21315             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   21316             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   21317             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   21318             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   21319             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   21320             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   21321             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   21322             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   21323             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   21324             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   21325             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   21326             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   21327             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   21328             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   21329             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   21330             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   21331             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   21332             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   21333             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   21334             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   21335             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   21336             :      394,   395,   396,   397,   398,   399,   400,   401,    -1,   403,
   21337             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   21338             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   21339             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   21340             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   21341             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   21342             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   21343             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   21344             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   21345             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,   493,
   21346             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   21347             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   21348             :       -1,    -1,    -1,   517,    -1,    -1,     3,    -1,    -1,    -1,
   21349             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21350             :       -1,    -1,   536,    20,    21,    22,    23,    24,    25,    26,
   21351             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   21352             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   21353             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   21354             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   21355             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   21356             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   21357             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   21358             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   21359             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   21360             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   21361             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   21362             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   21363             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   21364             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   21365             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   21366             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   21367             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   21368             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   21369             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   21370             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   21371             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   21372             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   21373             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   21374             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   21375             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   21376             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   21377             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   21378             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   21379             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   21380             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   21381             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   21382             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   21383             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   21384             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   21385             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   21386             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   21387             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   21388             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   21389             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   21390             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   21391             :      427,   428,   429,   430,    -1,   432,   433,    -1,   435,   436,
   21392             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   21393             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   21394             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   21395             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   21396             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   21397             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   21398             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   21399             :      507,   508,   509,   510,   511,   512,   513,    -1,    -1,    -1,
   21400             :       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   21401             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   536,
   21402             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   21403             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21404             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   21405             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   21406             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   21407             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   21408             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   21409             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   21410             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   21411             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   21412             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   21413             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   21414             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   21415             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   21416             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   21417             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   21418             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   21419             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   21420             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   21421             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   21422             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   21423             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   21424             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   21425             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   21426             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   21427             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   21428             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   21429             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   21430             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   21431             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   21432             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   21433             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   21434             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   21435             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   21436             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   21437             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   21438             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   21439             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   21440             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   21441             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   21442             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   21443             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   21444             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   21445             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   21446             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   21447             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   21448             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   21449             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   21450             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   21451             :      510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,
   21452             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21453             :       -1,    -1,    -1,    -1,    -1,    -1,   536,    20,    21,    22,
   21454             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   21455             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   21456             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   21457             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   21458             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   21459             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   21460             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   21461             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   21462             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   21463             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   21464             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   21465             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   21466             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   21467             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   21468             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   21469             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   21470             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   21471             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   21472             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   21473             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   21474             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   21475             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   21476             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   21477             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   21478             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   21479             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   21480             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   21481             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   21482             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   21483             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   21484             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   21485             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   21486             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   21487             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   21488             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   21489             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   21490             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   21491             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   21492             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   21493             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   21494             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   21495             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   21496             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   21497             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   21498             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   21499             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   21500             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   21501             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   21502             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   21503             :      513,    -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,
   21504             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21505             :       -1,    -1,    -1,   536,    20,    21,    22,    23,    24,    25,
   21506             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   21507             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   21508             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   21509             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   21510             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   21511             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   21512             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   21513             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   21514             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   21515             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   21516             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   21517             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   21518             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   21519             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   21520             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   21521             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   21522             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   21523             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   21524             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   21525             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   21526             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   21527             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   21528             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   21529             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   21530             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   21531             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   21532             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   21533             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   21534             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   21535             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   21536             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   21537             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   21538             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   21539             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   21540             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   21541             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   21542             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   21543             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   21544             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   21545             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   21546             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   21547             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   21548             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   21549             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   21550             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   21551             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   21552             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   21553             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   21554             :      506,   507,   508,   509,   510,   511,   512,   513,    -1,    -1,
   21555             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21556             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21557             :      536,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21558             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21559             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21560             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21561             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21562             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21563             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21564             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21565             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21566             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21567             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21568             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21569             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21570             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21571             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21572             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21573             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21574             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21575             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21576             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21577             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21578             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21579             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21580             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21581             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21582             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21583             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21584             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21585             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21586             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21587             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21588             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21589             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21590             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21591             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21592             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21593             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21594             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21595             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21596             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21597             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21598             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21599             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21600             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21601             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21602             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21603             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21604             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21605             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21606             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21607             :       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
   21608             :       -1,    10,    -1,    -1,    13,    -1,    -1,   536,    17,    18,
   21609             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21610             :       29,    30,    31,    32,    33,    34,    35,    36,    -1,    38,
   21611             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21612             :       49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
   21613             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21614             :       -1,    -1,    71,    72,    73,    74,    75,    76,    77,    78,
   21615             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21616             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21617             :       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21618             :      109,   110,   111,   112,   113,   114,    -1,   116,   117,   118,
   21619             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21620             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21621             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21622             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21623             :      159,   160,   161,   162,   163,   164,   165,    -1,    -1,   168,
   21624             :      169,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
   21625             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21626             :      189,   190,    -1,   192,   193,    -1,   195,   196,   197,   198,
   21627             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21628             :      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
   21629             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   21630             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21631             :      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21632             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,   258,
   21633             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21634             :      269,   270,   271,    -1,   273,   274,    -1,   276,   277,   278,
   21635             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21636             :      289,   290,   291,   292,   293,   294,   295,   296,   297,   298,
   21637             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21638             :      309,    -1,   311,   312,   313,   314,   315,    -1,   317,   318,
   21639             :      319,   320,    -1,    -1,   323,   324,   325,   326,   327,   328,
   21640             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21641             :      339,   340,   341,    -1,   343,   344,   345,   346,   347,   348,
   21642             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21643             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21644             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21645             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21646             :      389,   390,   391,   392,   393,    -1,   395,   396,   397,   398,
   21647             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21648             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21649             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21650             :      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21651             :      439,   440,   441,   442,   443,   444,   445,   446,   447,    -1,
   21652             :      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   21653             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   21654             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21655             :      479,   480,   481,    -1,   483,   484,   485,   486,   487,   488,
   21656             :      489,    -1,   491,    -1,    -1,    -1,    -1,   496,   497,   498,
   21657             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21658             :      509,   510,    -1,   512,   513,    -1,   515,    -1,    -1,    -1,
   21659             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21660             :      529,   530,   531,   532,     3,    -1,     5,     6,    -1,    -1,
   21661             :       -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21662             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21663             :       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
   21664             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21665             :       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
   21666             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21667             :       69,    70,    71,    72,    73,    74,    75,    76,    -1,    78,
   21668             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21669             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21670             :       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21671             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21672             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21673             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21674             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21675             :      149,   150,   151,   152,   153,   154,   155,   156,   157,    -1,
   21676             :      159,   160,   161,   162,    -1,   164,   165,   166,   167,   168,
   21677             :      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
   21678             :      179,   180,   181,   182,   183,   184,   185,    -1,   187,    -1,
   21679             :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
   21680             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21681             :      209,   210,   211,   212,   213,    -1,   215,   216,   217,   218,
   21682             :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
   21683             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21684             :       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21685             :      249,    -1,   251,   252,   253,   254,   255,   256,   257,   258,
   21686             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21687             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   21688             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21689             :      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
   21690             :       -1,   300,   301,   302,   303,   304,   305,   306,   307,   308,
   21691             :      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
   21692             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   21693             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21694             :      339,    -1,   341,    -1,   343,   344,   345,   346,   347,   348,
   21695             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21696             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21697             :      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
   21698             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   21699             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   21700             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21701             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21702             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21703             :       -1,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21704             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   21705             :      449,   450,   451,    -1,   453,    -1,   455,   456,   457,   458,
   21706             :      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
   21707             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21708             :       -1,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   21709             :      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
   21710             :      499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21711             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21712             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21713             :      529,   530,   531,   532,     3,    -1,     5,     6,    -1,    -1,
   21714             :       -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21715             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21716             :       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
   21717             :       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
   21718             :       49,    50,    51,    -1,    53,    54,    55,    56,    57,    58,
   21719             :       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
   21720             :       69,    70,    71,    72,    73,    74,    75,    76,    -1,    78,
   21721             :       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
   21722             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   21723             :       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
   21724             :      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   21725             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   21726             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   21727             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   21728             :      149,   150,   151,   152,   153,   154,   155,   156,   157,    -1,
   21729             :      159,   160,   161,   162,    -1,   164,   165,   166,   167,   168,
   21730             :      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
   21731             :      179,   180,   181,   182,   183,   184,   185,    -1,   187,    -1,
   21732             :      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
   21733             :      199,   200,   201,   202,   203,   204,   205,   206,   207,   208,
   21734             :      209,   210,   211,   212,   213,    -1,   215,   216,   217,   218,
   21735             :      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
   21736             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21737             :       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
   21738             :      249,    -1,   251,   252,   253,   254,   255,   256,   257,   258,
   21739             :      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21740             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   21741             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   21742             :      289,   290,    -1,   292,   293,   294,   295,   296,   297,   298,
   21743             :       -1,   300,   301,   302,   303,   304,   305,   306,   307,   308,
   21744             :      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
   21745             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   21746             :      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
   21747             :      339,    -1,   341,    -1,   343,   344,   345,   346,   347,   348,
   21748             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21749             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   21750             :      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
   21751             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   21752             :      389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
   21753             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   21754             :      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
   21755             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21756             :       -1,   430,   431,   432,   433,   434,   435,   436,   437,   438,
   21757             :      439,   440,   441,   442,   443,   444,   445,   446,   447,   448,
   21758             :      449,   450,   451,    -1,   453,    -1,   455,   456,   457,   458,
   21759             :      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
   21760             :      469,   470,   471,   472,   473,   474,   475,   476,   477,   478,
   21761             :       -1,   480,   481,   482,   483,   484,   485,   486,   487,   488,
   21762             :      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
   21763             :      499,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   21764             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21765             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21766             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21767             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21768             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21769             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21770             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21771             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21772             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21773             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21774             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21775             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21776             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21777             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21778             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21779             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21780             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21781             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21782             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21783             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21784             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21785             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21786             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21787             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21788             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21789             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21790             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21791             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21792             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21793             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21794             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21795             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21796             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21797             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21798             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21799             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21800             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21801             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21802             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21803             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21804             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21805             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21806             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21807             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21808             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21809             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21810             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21811             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21812             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21813             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21814             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21815             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21816             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21817             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21818             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21819             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21820             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21821             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21822             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21823             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21824             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21825             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21826             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21827             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21828             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21829             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21830             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21831             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21832             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21833             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21834             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21835             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21836             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21837             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21838             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21839             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21840             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21841             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21842             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21843             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21844             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21845             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21846             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21847             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21848             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21849             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21850             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21851             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21852             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21853             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21854             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21855             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21856             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21857             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21858             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21859             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21860             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21861             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21862             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21863             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21864             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21865             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21866             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21867             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21868             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21869             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21870             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21871             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21872             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21873             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21874             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21875             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21876             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21877             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21878             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21879             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21880             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21881             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21882             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21883             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21884             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21885             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21886             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21887             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21888             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21889             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21890             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21891             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21892             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21893             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21894             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21895             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21896             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21897             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21898             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21899             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21900             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21901             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21902             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21903             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21904             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21905             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21906             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21907             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21908             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21909             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21910             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21911             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21912             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21913             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21914             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21915             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21916             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21917             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21918             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21919             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21920             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21921             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21922             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21923             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21924             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21925             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21926             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21927             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21928             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21929             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21930             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21931             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21932             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21933             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21934             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21935             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21936             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21937             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21938             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21939             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21940             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21941             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21942             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21943             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21944             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21945             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21946             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   21947             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   21948             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   21949             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   21950             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   21951             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   21952             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   21953             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   21954             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   21955             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   21956             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   21957             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   21958             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   21959             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   21960             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   21961             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   21962             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   21963             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   21964             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   21965             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   21966             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   21967             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   21968             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   21969             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   21970             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   21971             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   21972             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   21973             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   21974             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   21975             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   21976             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   21977             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   21978             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   21979             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   21980             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   21981             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   21982             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   21983             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   21984             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   21985             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   21986             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   21987             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   21988             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   21989             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   21990             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   21991             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   21992             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   21993             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   21994             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   21995             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   21996             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   21997             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   21998             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   21999             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22000             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22001             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22002             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22003             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22004             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22005             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22006             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22007             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22008             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22009             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22010             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22011             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22012             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22013             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22014             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22015             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22016             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22017             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22018             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22019             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22020             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22021             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22022             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22023             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22024             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22025             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22026             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22027             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22028             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22029             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   22030             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22031             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   22032             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   22033             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22034             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22035             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   22036             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   22037             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22038             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22039             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   22040             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22041             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   22042             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22043             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   22044             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22045             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22046             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22047             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   22048             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22049             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22050             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22051             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22052             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22053             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22054             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22055             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22056             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22057             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22058             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22059             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22060             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22061             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22062             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22063             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22064             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22065             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22066             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22067             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22068             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22069             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22070             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22071             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22072             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22073             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22074             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22075             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22076             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22077             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22078             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22079             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22080             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22081             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22082             :      509,   510,   511,   512,   513,    -1,    -1,    -1,    -1,    -1,
   22083             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22084             :      529,   530,   531,   532,     3,    -1,    -1,    -1,    -1,    -1,
   22085             :       -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,    17,    18,
   22086             :       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22087             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22088             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   22089             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   22090             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22091             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22092             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   22093             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22094             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   22095             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22096             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   22097             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22098             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22099             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22100             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   22101             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   22102             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22103             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   22104             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22105             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   22106             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   22107             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22108             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22109             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   22110             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22111             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22112             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   22113             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   22114             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22115             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22116             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   22117             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22118             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22119             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22120             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22121             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22122             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22123             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22124             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   22125             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22126             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22127             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   22128             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22129             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   22130             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22131             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22132             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   22133             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22134             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22135             :      509,   510,   511,   512,   513,    -1,    -1,     3,    -1,    -1,
   22136             :       -1,    -1,    -1,    -1,    -1,   524,   525,   526,   527,   528,
   22137             :      529,   530,   531,   532,    20,    21,    22,    23,    24,    25,
   22138             :       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
   22139             :       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
   22140             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   22141             :       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
   22142             :       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
   22143             :       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
   22144             :       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
   22145             :       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
   22146             :      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
   22147             :      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
   22148             :      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
   22149             :      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
   22150             :      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
   22151             :      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
   22152             :      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
   22153             :      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
   22154             :      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
   22155             :      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
   22156             :      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
   22157             :      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
   22158             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   22159             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   22160             :      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
   22161             :      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
   22162             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   22163             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   22164             :      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
   22165             :      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
   22166             :      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
   22167             :      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   22168             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   22169             :      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   22170             :      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   22171             :      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
   22172             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   22173             :      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   22174             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   22175             :      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   22176             :      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
   22177             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   22178             :      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
   22179             :      436,   437,   438,   439,   440,   441,   442,   443,   444,   445,
   22180             :      446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
   22181             :      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
   22182             :      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
   22183             :      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
   22184             :      486,   487,   488,   489,   490,   491,   492,   493,   494,   495,
   22185             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   22186             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   22187             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22188             :       -1,    -1,    -1,   529,    -1,    20,    21,    22,    23,    24,
   22189             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   22190             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   22191             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   22192             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   22193             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   22194             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   22195             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   22196             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   22197             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   22198             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   22199             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   22200             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   22201             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   22202             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   22203             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   22204             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   22205             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   22206             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   22207             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   22208             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   22209             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   22210             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   22211             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   22212             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   22213             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   22214             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   22215             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   22216             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   22217             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   22218             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   22219             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   22220             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   22221             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   22222             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   22223             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   22224             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   22225             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   22226             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   22227             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   22228             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   22229             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   22230             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   22231             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   22232             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   22233             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   22234             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   22235             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   22236             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   22237             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   22238             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22239             :       -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,    23,
   22240             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   22241             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   22242             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   22243             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   22244             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   22245             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   22246             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   22247             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   22248             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   22249             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   22250             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   22251             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   22252             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   22253             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   22254             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   22255             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   22256             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   22257             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   22258             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   22259             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   22260             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   22261             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   22262             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   22263             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   22264             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   22265             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   22266             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   22267             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   22268             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   22269             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   22270             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   22271             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   22272             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   22273             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   22274             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   22275             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   22276             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   22277             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   22278             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   22279             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   22280             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   22281             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   22282             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   22283             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   22284             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   22285             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   22286             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   22287             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   22288             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   22289             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22290             :       -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,    22,
   22291             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   22292             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   22293             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   22294             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   22295             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   22296             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   22297             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   22298             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   22299             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   22300             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   22301             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   22302             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   22303             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   22304             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   22305             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   22306             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   22307             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   22308             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   22309             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   22310             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   22311             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   22312             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   22313             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   22314             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   22315             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   22316             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   22317             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   22318             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   22319             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   22320             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   22321             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   22322             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   22323             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   22324             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   22325             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   22326             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   22327             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   22328             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   22329             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   22330             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   22331             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   22332             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   22333             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   22334             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   22335             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   22336             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   22337             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   22338             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   22339             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   22340             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22341             :       -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,    21,
   22342             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   22343             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   22344             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   22345             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   22346             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   22347             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   22348             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   22349             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   22350             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   22351             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   22352             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   22353             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   22354             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   22355             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   22356             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   22357             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   22358             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   22359             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   22360             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   22361             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   22362             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   22363             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   22364             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   22365             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   22366             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   22367             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   22368             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   22369             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   22370             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   22371             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   22372             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   22373             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   22374             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   22375             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   22376             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   22377             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   22378             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   22379             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   22380             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   22381             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   22382             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   22383             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   22384             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   22385             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   22386             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   22387             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   22388             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   22389             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   22390             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   22391             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22392             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,    20,
   22393             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   22394             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   22395             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   22396             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   22397             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   22398             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   22399             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22400             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   22401             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   22402             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   22403             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   22404             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   22405             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   22406             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   22407             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   22408             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   22409             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   22410             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22411             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22412             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22413             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   22414             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   22415             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   22416             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   22417             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   22418             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22419             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   22420             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   22421             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   22422             :       -1,   312,   313,   314,    -1,   316,   317,   318,   319,   320,
   22423             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   22424             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   22425             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   22426             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22427             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   22428             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   22429             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   22430             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   22431             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   22432             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   22433             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   22434             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   22435             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   22436             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   22437             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   22438             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   22439             :      481,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   22440             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   22441             :       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22442             :      511,   512,   513,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   22443             :       21,    22,    23,    24,    25,    26,    27,    28,   529,    30,
   22444             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   22445             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   22446             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   22447             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   22448             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   22449             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22450             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   22451             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   22452             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   22453             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   22454             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   22455             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   22456             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   22457             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   22458             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   22459             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   22460             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22461             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22462             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22463             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   22464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   22465             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   22466             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   22467             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   22468             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22469             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   22470             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   22471             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   22472             :       -1,   312,   313,   314,    -1,   316,   317,   318,   319,   320,
   22473             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   22474             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   22475             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   22476             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22477             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   22478             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   22479             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   22480             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   22481             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   22482             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   22483             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   22484             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   22485             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   22486             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   22487             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   22488             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   22489             :      481,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   22490             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   22491             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22492             :      511,   512,   513,     3,    -1,     5,     6,    -1,    -1,    -1,
   22493             :       -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,   529,    -1,
   22494             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   22495             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22496             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   22497             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   22498             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   22499             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   22500             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   22501             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   22502             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   22503             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   22504             :      120,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   22505             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   22506             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   22507             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   22508             :      160,   161,   162,   163,   164,   165,    -1,   167,   168,   169,
   22509             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   22510             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   22511             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   22512             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   22513             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   22514             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   22515             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   22516             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   22517             :      250,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   22518             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   22519             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   22520             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   22521             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   22522             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   22523             :      310,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   22524             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   22525             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   22526             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   22527             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   22528             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   22529             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   22530             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   22531             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   22532             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   22533             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   22534             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   22535             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   22536             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   22537             :      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
   22538             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   22539             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   22540             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   22541             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   22542             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   22543             :      510,   511,   512,   513,     3,    -1,     5,     6,    -1,    -1,
   22544             :       -1,    -1,    11,    -1,    -1,    -1,    -1,   527,   528,    -1,
   22545             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   22546             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   22547             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   22548             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   22549             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   22550             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   22551             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   22552             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   22553             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   22554             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   22555             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   22556             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   22557             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   22558             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   22559             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   22560             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   22561             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   22562             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   22563             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   22564             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   22565             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   22566             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   22567             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   22568             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   22569             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   22570             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   22571             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   22572             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   22573             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   22574             :      309,   310,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   22575             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   22576             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   22577             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   22578             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   22579             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   22580             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   22581             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   22582             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   22583             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   22584             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   22585             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   22586             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   22587             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   22588             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   22589             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   22590             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   22591             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   22592             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   22593             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   22594             :      509,   510,   511,   512,   513,     3,    -1,     5,     6,    -1,
   22595             :       -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,   528,
   22596             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   22597             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   22598             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   22599             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   22600             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   22601             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   22602             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   22603             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   22604             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   22605             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   22606             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   22607             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   22608             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   22609             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   22610             :      158,   159,   160,   161,   162,   163,   164,   165,    -1,   167,
   22611             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   22612             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   22613             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   22614             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   22615             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   22616             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   22617             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   22618             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   22619             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   22620             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   22621             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   22622             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   22623             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   22624             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   22625             :      308,   309,   310,    -1,   312,   313,   314,    -1,    -1,   317,
   22626             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   22627             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   22628             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   22629             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   22630             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   22631             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   22632             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   22633             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   22634             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   22635             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   22636             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   22637             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   22638             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   22639             :       -1,    -1,   450,   451,   452,   453,   454,   455,   456,   457,
   22640             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   22641             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   22642             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   22643             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   22644             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   22645             :      508,   509,   510,   511,   512,   513,     3,    -1,     5,     6,
   22646             :       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,   527,
   22647             :      528,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   22648             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   22649             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   22650             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   22651             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   22652             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   22653             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   22654             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   22655             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   22656             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   22657             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   22658             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   22659             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   22660             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   22661             :      157,   158,   159,   160,   161,   162,   163,   164,   165,    -1,
   22662             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   22663             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   22664             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   22665             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   22666             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   22667             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   22668             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   22669             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   22670             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   22671             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   22672             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   22673             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   22674             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   22675             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   22676             :      307,   308,   309,   310,    -1,   312,   313,   314,    -1,    -1,
   22677             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   22678             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   22679             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   22680             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   22681             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   22682             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   22683             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   22684             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   22685             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   22686             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   22687             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   22688             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   22689             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   22690             :      447,    -1,    -1,   450,   451,   452,   453,   454,   455,   456,
   22691             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   22692             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   22693             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   22694             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   22695             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   22696             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   22697             :       -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,
   22698             :      527,   528,    -1,    -1,    20,    21,    22,    23,    24,    25,
   22699             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   22700             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   22701             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   22702             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   22703             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   22704             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   22705             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   22706             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   22707             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   22708             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   22709             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   22710             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   22711             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   22712             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   22713             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   22714             :      176,    -1,   178,    -1,   180,   181,   182,   183,    -1,   185,
   22715             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   22716             :      196,    -1,   198,   199,   200,   201,   202,   203,   204,   205,
   22717             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   22718             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   22719             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   22720             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   22721             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   22722             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   22723             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   22724             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   22725             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   22726             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   22727             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   22728             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   22729             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   22730             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   22731             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   22732             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   22733             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   22734             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   22735             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   22736             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   22737             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   22738             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   22739             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   22740             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   22741             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   22742             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   22743             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   22744             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   22745             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   22746             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   22747             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   22748             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22749             :       -1,   527,   528,    -1,    -1,    20,    21,    22,    23,    24,
   22750             :       25,    26,    27,    28,    -1,    30,    31,    32,    33,    34,
   22751             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   22752             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   22753             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   22754             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   22755             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   22756             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   22757             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   22758             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   22759             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   22760             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   22761             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   22762             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   22763             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   22764             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   22765             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   22766             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   22767             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   22768             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   22769             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   22770             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   22771             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   22772             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   22773             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   22774             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   22775             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   22776             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   22777             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   22778             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   22779             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   22780             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   22781             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   22782             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   22783             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   22784             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   22785             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   22786             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   22787             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   22788             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   22789             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   22790             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   22791             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   22792             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   22793             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   22794             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   22795             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   22796             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   22797             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   22798             :      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
   22799             :        3,    -1,     5,     6,    -1,    -1,    -1,    -1,    11,    -1,
   22800             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   22801             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   22802             :       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
   22803             :       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   22804             :       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
   22805             :       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
   22806             :       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
   22807             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
   22808             :       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
   22809             :      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
   22810             :      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
   22811             :      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
   22812             :      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
   22813             :      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
   22814             :      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   22815             :      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
   22816             :      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
   22817             :      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
   22818             :      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
   22819             :      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
   22820             :      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
   22821             :      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   22822             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   22823             :      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
   22824             :      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
   22825             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   22826             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   22827             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   22828             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   22829             :      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
   22830             :      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
   22831             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   22832             :      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
   22833             :      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
   22834             :      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
   22835             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   22836             :      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
   22837             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   22838             :      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
   22839             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   22840             :      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   22841             :      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
   22842             :      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
   22843             :      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
   22844             :      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
   22845             :      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
   22846             :      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
   22847             :      483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
   22848             :      493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   22849             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   22850             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22851             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   22852             :       22,    23,    24,    25,    26,    27,    28,    29,    30,    31,
   22853             :       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
   22854             :       42,    43,    44,    45,    46,    47,    48,    49,    50,    51,
   22855             :       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
   22856             :       62,    63,    64,    65,    66,    67,    68,    69,    70,    71,
   22857             :       72,    73,    74,    75,    76,    77,    78,    79,    80,    81,
   22858             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   22859             :       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
   22860             :      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
   22861             :      112,   113,   114,   115,   116,   117,   118,   119,   120,   121,
   22862             :      122,   123,   124,   125,   126,   127,   128,   129,   130,   131,
   22863             :      132,   133,   134,   135,   136,   137,   138,   139,   140,   141,
   22864             :      142,   143,   144,   145,   146,   147,   148,   149,   150,   151,
   22865             :      152,   153,   154,   155,   156,   157,   158,   159,   160,   161,
   22866             :      162,   163,   164,   165,   166,   167,   168,   169,   170,   171,
   22867             :      172,   173,   174,   175,   176,   177,   178,   179,   180,   181,
   22868             :      182,   183,   184,   185,   186,   187,   188,   189,   190,   191,
   22869             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   22870             :      202,   203,   204,   205,   206,   207,   208,   209,   210,   211,
   22871             :      212,   213,   214,   215,   216,   217,   218,   219,   220,   221,
   22872             :      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
   22873             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   22874             :      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
   22875             :      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
   22876             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   22877             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   22878             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   22879             :      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
   22880             :      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
   22881             :      312,   313,   314,   315,   316,   317,   318,   319,   320,   321,
   22882             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   22883             :      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
   22884             :      342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
   22885             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   22886             :      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   22887             :      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
   22888             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   22889             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   22890             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   22891             :      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
   22892             :      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
   22893             :      432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
   22894             :      442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
   22895             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   22896             :      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
   22897             :      472,   473,   474,   475,   476,   477,   478,   479,   480,   481,
   22898             :      482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
   22899             :      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
   22900             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   22901             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22902             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   22903             :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   22904             :       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
   22905             :       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
   22906             :       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
   22907             :       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
   22908             :       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
   22909             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   22910             :       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
   22911             :      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
   22912             :      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
   22913             :      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
   22914             :      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
   22915             :      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
   22916             :      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
   22917             :      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
   22918             :      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
   22919             :      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
   22920             :      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   22921             :      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
   22922             :      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   22923             :      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
   22924             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   22925             :      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
   22926             :      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
   22927             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   22928             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   22929             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   22930             :      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
   22931             :      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
   22932             :      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
   22933             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   22934             :      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
   22935             :      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
   22936             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   22937             :      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
   22938             :      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
   22939             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   22940             :      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
   22941             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   22942             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   22943             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   22944             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   22945             :      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
   22946             :      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
   22947             :      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
   22948             :      471,   472,   473,   474,   475,   476,   477,   478,   479,   480,
   22949             :      481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
   22950             :      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
   22951             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   22952             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   22953             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22954             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   22955             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   22956             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   22957             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   22958             :       60,    61,    62,    63,    64,    -1,    66,    67,    68,    69,
   22959             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   22960             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   22961             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   22962             :      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
   22963             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   22964             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   22965             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   22966             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   22967             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   22968             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   22969             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   22970             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   22971             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   22972             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   22973             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   22974             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   22975             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   22976             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   22977             :      250,   251,   252,   253,    -1,   255,   256,   257,   258,   259,
   22978             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   22979             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   22980             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   22981             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   22982             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   22983             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   22984             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   22985             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   22986             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   22987             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   22988             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   22989             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   22990             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   22991             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   22992             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   22993             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   22994             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   22995             :      430,    -1,   432,   433,   434,    -1,   436,   437,   438,   439,
   22996             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   22997             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   22998             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   22999             :      470,   471,   472,    -1,   474,   475,   476,   477,   478,   479,
   23000             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   23001             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   23002             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23003             :      510,   511,   512,   513,     3,    -1,     5,     6,    -1,     8,
   23004             :        9,    -1,    11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23005             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23006             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23007             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23008             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23009             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   23010             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23011             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23012             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23013             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   23014             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   23015             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23016             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23017             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23018             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   23019             :      159,   160,   161,   162,   163,   164,   165,    -1,   167,   168,
   23020             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   23021             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   23022             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   23023             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   23024             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   23025             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   23026             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23027             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   23028             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   23029             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23030             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23031             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23032             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,   298,
   23033             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   23034             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   23035             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23036             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   23037             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   23038             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23039             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23040             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23041             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23042             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23043             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   23044             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23045             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23046             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   23047             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   23048             :       -1,   450,   451,   452,   453,   454,   455,   456,   457,   458,
   23049             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   23050             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   23051             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   23052             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23053             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23054             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   23055             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23056             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23057             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23058             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23059             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23060             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23061             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23062             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23063             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23064             :       98,    -1,   100,   101,   102,   103,    -1,    -1,   106,   107,
   23065             :       -1,    -1,   110,   111,   112,   113,   114,   115,   116,   117,
   23066             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   23067             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23068             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23069             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   23070             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   23071             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   23072             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   23073             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   23074             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   23075             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   23076             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   23077             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23078             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   23079             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   23080             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   23081             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23082             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23083             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   23084             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   23085             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   23086             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23087             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   23088             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   23089             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23090             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23091             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23092             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23093             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23094             :      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
   23095             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23096             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23097             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   23098             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   23099             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   23100             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   23101             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   23102             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   23103             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23104             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23105             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   23106             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23107             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23108             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   23109             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23110             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23111             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23112             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23113             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23114             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23115             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,   106,
   23116             :      107,    -1,    -1,   110,   111,   112,   113,   114,   115,   116,
   23117             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   23118             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23119             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23120             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   23121             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   23122             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   23123             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   23124             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   23125             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   23126             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   23127             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   23128             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23129             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   23130             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   23131             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   23132             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23133             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23134             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   23135             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   23136             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   23137             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23138             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   23139             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   23140             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23141             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23142             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23143             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23144             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23145             :      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
   23146             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23147             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23148             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   23149             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   23150             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   23151             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   23152             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   23153             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   23154             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23155             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23156             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   23157             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23158             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23159             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   23160             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23161             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23162             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23163             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23164             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23165             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23166             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23167             :      106,   107,    -1,    -1,   110,   111,   112,   113,   114,   115,
   23168             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23169             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23170             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23171             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   23172             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   23173             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   23174             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   23175             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   23176             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   23177             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   23178             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   23179             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23180             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23181             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   23182             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   23183             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23184             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23185             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   23186             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   23187             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   23188             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23189             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   23190             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   23191             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23192             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23193             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23194             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23195             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23196             :       -1,   397,   398,   399,   400,   401,   402,   403,   404,   405,
   23197             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23198             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23199             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   23200             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   23201             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   23202             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   23203             :       -1,   467,   468,   469,   470,   471,   472,    -1,   474,   475,
   23204             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   23205             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23206             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23207             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23208             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23209             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   23210             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   23211             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23212             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   23213             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23214             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23215             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   23216             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   23217             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   23218             :       -1,   106,   107,    -1,    -1,   110,   111,   112,   113,   114,
   23219             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23220             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23221             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23222             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   23223             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   23224             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   23225             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   23226             :      185,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
   23227             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   23228             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   23229             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   23230             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   23231             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23232             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   23233             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   23234             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23235             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   23236             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   23237             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   23238             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   23239             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   23240             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23241             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   23242             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   23243             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23244             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23245             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   23246             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23247             :      395,    -1,   397,   398,   399,   400,   401,   402,   403,   404,
   23248             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   23249             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23250             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   23251             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   23252             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   23253             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   23254             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   23255             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   23256             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23257             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23258             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23259             :       -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23260             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   23261             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   23262             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23263             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23264             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23265             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23266             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23267             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23268             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23269             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   23270             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23271             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23272             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23273             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   23274             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   23275             :      164,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   23276             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   23277             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   23278             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   23279             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   23280             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   23281             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23282             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23283             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   23284             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   23285             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23286             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23287             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   23288             :      294,   295,   296,   297,    -1,   299,   300,   301,   302,   303,
   23289             :      304,   305,    -1,   307,   308,   309,   310,    -1,   312,   313,
   23290             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   23291             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23292             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   23293             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   23294             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23295             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23296             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23297             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23298             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   23299             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23300             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23301             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   23302             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   23303             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   23304             :      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
   23305             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   23306             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   23307             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23308             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23309             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23310             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23311             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   23312             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   23313             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   23314             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   23315             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   23316             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   23317             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   23318             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   23319             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   23320             :      103,    -1,    -1,   106,   107,    -1,    -1,   110,   111,   112,
   23321             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   23322             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   23323             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   23324             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   23325             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   23326             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   23327             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   23328             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   23329             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   23330             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   23331             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   23332             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   23333             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   23334             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   23335             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   23336             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   23337             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   23338             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   23339             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   23340             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   23341             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   23342             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   23343             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   23344             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   23345             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   23346             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   23347             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   23348             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   23349             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,   402,
   23350             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   23351             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   23352             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   23353             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   23354             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   23355             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   23356             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   23357             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   23358             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   23359             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   23360             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   23361             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23362             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23363             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   23364             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   23365             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   23366             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   23367             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   23368             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   23369             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23370             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   23371             :      102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,   111,
   23372             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   23373             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   23374             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   23375             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   23376             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   23377             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   23378             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   23379             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   23380             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   23381             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   23382             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   23383             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   23384             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23385             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   23386             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   23387             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23388             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23389             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23390             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   23391             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   23392             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   23393             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23394             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   23395             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   23396             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23397             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23398             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   23399             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23400             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   23401             :      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23402             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   23403             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   23404             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   23405             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   23406             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   23407             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   23408             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   23409             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   23410             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   23411             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23412             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23413             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23414             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   23415             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   23416             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   23417             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   23418             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   23419             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   23420             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23421             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   23422             :      101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,   110,
   23423             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   23424             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   23425             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   23426             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   23427             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   23428             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   23429             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   23430             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   23431             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   23432             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   23433             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   23434             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   23435             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   23436             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   23437             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   23438             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   23439             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   23440             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   23441             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   23442             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   23443             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   23444             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   23445             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   23446             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   23447             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   23448             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   23449             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   23450             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   23451             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   23452             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   23453             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   23454             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23455             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   23456             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   23457             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   23458             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   23459             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   23460             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   23461             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   23462             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23463             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23464             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23465             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   23466             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23467             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   23468             :       50,    51,    52,    53,    54,    55,    56,    -1,    58,    59,
   23469             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   23470             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    79,
   23471             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   23472             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   23473             :      100,   101,   102,   103,    -1,    -1,   106,   107,    -1,    -1,
   23474             :      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23475             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   23476             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   23477             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   23478             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   23479             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   23480             :      170,   171,    -1,   173,    -1,   175,   176,   177,    -1,   179,
   23481             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   23482             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   23483             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   23484             :      210,    -1,   212,   213,   214,   215,   216,   217,   218,   219,
   23485             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   23486             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23487             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   23488             :      250,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   23489             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   23490             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   23491             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   23492             :      290,   291,   292,    -1,   294,   295,   296,   297,    -1,   299,
   23493             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   23494             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   23495             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   23496             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   23497             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   23498             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   23499             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   23500             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   23501             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   23502             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   23503             :      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
   23504             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   23505             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   23506             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   23507             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   23508             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   23509             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   23510             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   23511             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   23512             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   23513             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   23514             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   23515             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23516             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   23517             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   23518             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   23519             :       49,    50,    51,    52,    53,    54,    55,    56,    -1,    58,
   23520             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   23521             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   23522             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   23523             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   23524             :       -1,   100,   101,   102,   103,    -1,    -1,   106,   107,    -1,
   23525             :       -1,   110,   111,   112,   113,   114,   115,   116,   117,   118,
   23526             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   23527             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   23528             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   23529             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   23530             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   23531             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   23532             :      179,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   23533             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   23534             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   23535             :      209,   210,    -1,   212,   213,   214,   215,   216,   217,   218,
   23536             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   23537             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   23538             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   23539             :      249,   250,   251,   252,   253,    -1,   255,   256,   257,    -1,
   23540             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   23541             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   23542             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   23543             :      289,   290,   291,   292,    -1,   294,   295,   296,   297,    -1,
   23544             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   23545             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   23546             :      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
   23547             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   23548             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   23549             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   23550             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   23551             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   23552             :      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   23553             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   23554             :      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
   23555             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   23556             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   23557             :      429,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   23558             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   23559             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   23560             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   23561             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   23562             :      479,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   23563             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   23564             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   23565             :      509,   510,   511,   512,   513,     3,    -1,    -1,     6,    -1,
   23566             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23567             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   23568             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   23569             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   23570             :       48,    49,    50,    51,    52,    53,    54,    55,    56,    -1,
   23571             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   23572             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   23573             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   23574             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   23575             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   23576             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   23577             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   23578             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   23579             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   23580             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   23581             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   23582             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   23583             :       -1,   179,   180,   181,   182,   183,    -1,   185,   186,    -1,
   23584             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   23585             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   23586             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   23587             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   23588             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   23589             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   23590             :       -1,   249,   250,   251,   252,   253,    -1,   255,   256,   257,
   23591             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   23592             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   23593             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   23594             :      288,   289,   290,   291,   292,    -1,   294,   295,   296,   297,
   23595             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   23596             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   23597             :      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
   23598             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   23599             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   23600             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   23601             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   23602             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   23603             :      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
   23604             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   23605             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   23606             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   23607             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   23608             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   23609             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   23610             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   23611             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   23612             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   23613             :      478,   479,   480,    -1,   482,   483,   484,   485,   486,   487,
   23614             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   23615             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   23616             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,     6,
   23617             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23618             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   23619             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   23620             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   23621             :       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
   23622             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   23623             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   23624             :       77,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   23625             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   23626             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   23627             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   23628             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   23629             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   23630             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   23631             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   23632             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   23633             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   23634             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,   186,
   23635             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   23636             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   23637             :      207,   208,   209,   210,    -1,   212,   213,   214,   215,   216,
   23638             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   23639             :      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
   23640             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   23641             :       -1,    -1,   249,   250,   251,   252,   253,    -1,   255,   256,
   23642             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   23643             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   23644             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   23645             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,   296,
   23646             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   23647             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   23648             :      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
   23649             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   23650             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   23651             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   23652             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   23653             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   23654             :      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
   23655             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   23656             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   23657             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   23658             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   23659             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   23660             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   23661             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   23662             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   23663             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   23664             :      477,   478,   479,   480,    -1,   482,   483,   484,   485,   486,
   23665             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   23666             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   23667             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   23668             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23669             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   23670             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   23671             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   23672             :       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
   23673             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   23674             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   23675             :       76,    77,    -1,    79,    -1,    81,    82,    83,    84,    85,
   23676             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   23677             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   23678             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   23679             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   23680             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   23681             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   23682             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   23683             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   23684             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   23685             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   23686             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   23687             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   23688             :      206,   207,   208,   209,   210,    -1,   212,   213,   214,   215,
   23689             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   23690             :      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
   23691             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   23692             :      246,    -1,    -1,   249,   250,   251,   252,   253,    -1,   255,
   23693             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   23694             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   23695             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   23696             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   23697             :      296,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   23698             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   23699             :       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
   23700             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   23701             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   23702             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   23703             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   23704             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   23705             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,   385,
   23706             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   23707             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   23708             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   23709             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   23710             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   23711             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   23712             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   23713             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   23714             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   23715             :      476,   477,   478,   479,   480,    -1,   482,   483,   484,   485,
   23716             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   23717             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   23718             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   23719             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23720             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   23721             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   23722             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   23723             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   23724             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   23725             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   23726             :       75,    76,    77,    -1,    79,    -1,    81,    82,    83,    84,
   23727             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   23728             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   23729             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   23730             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   23731             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   23732             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   23733             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   23734             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   23735             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   23736             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   23737             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   23738             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   23739             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,   214,
   23740             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   23741             :      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
   23742             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   23743             :      245,   246,    -1,    -1,   249,   250,   251,   252,   253,    -1,
   23744             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   23745             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   23746             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   23747             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   23748             :      295,   296,   297,    -1,   299,   300,   301,   302,   303,   304,
   23749             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   23750             :       -1,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
   23751             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   23752             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   23753             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   23754             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   23755             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   23756             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   23757             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   23758             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   23759             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   23760             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   23761             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   23762             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   23763             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   23764             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   23765             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   23766             :      475,   476,   477,   478,   479,   480,    -1,   482,   483,   484,
   23767             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   23768             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   23769             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   23770             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23771             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   23772             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   23773             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   23774             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   23775             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   23776             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   23777             :       74,    75,    76,    77,    -1,    79,    -1,    81,    82,    83,
   23778             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   23779             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   23780             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   23781             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   23782             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   23783             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   23784             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   23785             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   23786             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   23787             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   23788             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   23789             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   23790             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   23791             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   23792             :      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
   23793             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   23794             :      244,   245,   246,    -1,    -1,   249,   250,   251,   252,   253,
   23795             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   23796             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   23797             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   23798             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   23799             :      294,   295,   296,   297,    -1,   299,   300,   301,   302,   303,
   23800             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   23801             :      314,    -1,    -1,   317,   318,   319,   320,   321,   322,   323,
   23802             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   23803             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   23804             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   23805             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   23806             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   23807             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   23808             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   23809             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   23810             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   23811             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   23812             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   23813             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   23814             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   23815             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   23816             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   23817             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,   483,
   23818             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   23819             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   23820             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   23821             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23822             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   23823             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   23824             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   23825             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    52,
   23826             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   23827             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   23828             :       73,    74,    75,    76,    77,    -1,    79,    -1,    81,    82,
   23829             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   23830             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   23831             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   23832             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   23833             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   23834             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   23835             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   23836             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   23837             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   23838             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   23839             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   23840             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   23841             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   23842             :      213,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   23843             :       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
   23844             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   23845             :      243,   244,   245,   246,    -1,    -1,   249,   250,   251,   252,
   23846             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   23847             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   23848             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   23849             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   23850             :       -1,   294,   295,   296,   297,    -1,   299,   300,   301,   302,
   23851             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   23852             :      313,   314,    -1,    -1,   317,   318,   319,   320,   321,   322,
   23853             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   23854             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   23855             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   23856             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   23857             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   23858             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   23859             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   23860             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   23861             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   23862             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   23863             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   23864             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   23865             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   23866             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   23867             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   23868             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   23869             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   23870             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   23871             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   23872             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23873             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   23874             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   23875             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   23876             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   23877             :       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   23878             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   23879             :       -1,    73,    74,    75,    76,    77,    -1,    79,    -1,    81,
   23880             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   23881             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   23882             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   23883             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   23884             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   23885             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   23886             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   23887             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   23888             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   23889             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   23890             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   23891             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   23892             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   23893             :      212,   213,   214,   215,   216,   217,   218,   219,   220,    -1,
   23894             :      222,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
   23895             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   23896             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,   251,
   23897             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   23898             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   23899             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   23900             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   23901             :      292,    -1,   294,   295,   296,   297,    -1,   299,   300,   301,
   23902             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   23903             :      312,   313,   314,    -1,    -1,   317,   318,   319,   320,   321,
   23904             :      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   23905             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   23906             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   23907             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   23908             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   23909             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   23910             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   23911             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   23912             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   23913             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   23914             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   23915             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   23916             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   23917             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   23918             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   23919             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   23920             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   23921             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   23922             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   23923             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23924             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   23925             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   23926             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   23927             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   23928             :       51,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
   23929             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   23930             :       71,    -1,    73,    74,    75,    76,    77,    -1,    79,    -1,
   23931             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   23932             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   23933             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   23934             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   23935             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   23936             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   23937             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   23938             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   23939             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   23940             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   23941             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   23942             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   23943             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   23944             :       -1,   212,   213,   214,   215,   216,   217,   218,   219,   220,
   23945             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,   230,
   23946             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   23947             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   23948             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   23949             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   23950             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   23951             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   23952             :      291,   292,    -1,   294,   295,   296,   297,    -1,   299,   300,
   23953             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   23954             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,   320,
   23955             :      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
   23956             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   23957             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   23958             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   23959             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   23960             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   23961             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   23962             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   23963             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   23964             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   23965             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   23966             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   23967             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   23968             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   23969             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   23970             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   23971             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   23972             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   23973             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   23974             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   23975             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23976             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   23977             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   23978             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   23979             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   23980             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   23981             :       70,    71,    72,    73,    74,    75,    76,    77,    -1,    -1,
   23982             :       80,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   23983             :       90,    91,    92,    93,    94,    95,    96,    97,    98,    -1,
   23984             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   23985             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   23986             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   23987             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   23988             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   23989             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   23990             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   23991             :      170,   171,    -1,   173,   174,   175,   176,    -1,    -1,    -1,
   23992             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   23993             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   23994             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   23995             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   23996             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   23997             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   23998             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   23999             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   24000             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24001             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   24002             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24003             :      290,   291,   292,   293,   294,   295,    -1,   297,    -1,   299,
   24004             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   24005             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   24006             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   24007             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   24008             :      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
   24009             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24010             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24011             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   24012             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24013             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24014             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   24015             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24016             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24017             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   24018             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   24019             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   24020             :      460,   461,   462,   463,   464,    -1,   466,   467,   468,   469,
   24021             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   24022             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   24023             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24024             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24025             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24026             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24027             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24028             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24029             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24030             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24031             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24032             :       69,    70,    71,    72,    73,    74,    75,    76,    77,    -1,
   24033             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   24034             :       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
   24035             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24036             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24037             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24038             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24039             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24040             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   24041             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   24042             :      169,   170,   171,    -1,   173,   174,   175,   176,    -1,    -1,
   24043             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   24044             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   24045             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   24046             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   24047             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   24048             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24049             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   24050             :      249,   250,    -1,   252,   253,    -1,   255,   256,   257,    -1,
   24051             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24052             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24053             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   24054             :      289,   290,   291,   292,   293,   294,   295,    -1,   297,    -1,
   24055             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   24056             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   24057             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   24058             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   24059             :      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
   24060             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24061             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24062             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24063             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24064             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24065             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24066             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24067             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24068             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   24069             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   24070             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   24071             :      459,   460,   461,   462,   463,   464,    -1,   466,   467,   468,
   24072             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   24073             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   24074             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24075             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24076             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24077             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24078             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24079             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24080             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24081             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24082             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24083             :       68,    69,    70,    71,    72,    73,    74,    75,    76,    77,
   24084             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24085             :       88,    89,    90,    91,    92,    93,    94,    95,    96,    97,
   24086             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24087             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24088             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24089             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24090             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24091             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   24092             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   24093             :      168,   169,   170,   171,    -1,   173,   174,   175,   176,    -1,
   24094             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   24095             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   24096             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   24097             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   24098             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   24099             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24100             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   24101             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   24102             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   24103             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24104             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   24105             :      288,   289,   290,   291,   292,   293,   294,   295,    -1,   297,
   24106             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   24107             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   24108             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   24109             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   24110             :      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
   24111             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24112             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24113             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24114             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24115             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24116             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24117             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24118             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24119             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   24120             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   24121             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   24122             :      458,   459,   460,   461,   462,   463,   464,    -1,   466,   467,
   24123             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   24124             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   24125             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24126             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24127             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   24128             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24129             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   24130             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   24131             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   24132             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   24133             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   24134             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   24135             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   24136             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   24137             :       97,    98,    99,    -1,   101,   102,   103,    -1,    -1,    -1,
   24138             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   24139             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   24140             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   24141             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   24142             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   24143             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   24144             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   24145             :       -1,    -1,    -1,   180,   181,   182,   183,   184,   185,   186,
   24146             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   24147             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   24148             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   24149             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   24150             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   24151             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   24152             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   24153             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   24154             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24155             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   24156             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   24157             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   24158             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   24159             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   24160             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   24161             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   24162             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24163             :      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
   24164             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24165             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   24166             :      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
   24167             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24168             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   24169             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24170             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   24171             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   24172             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   24173             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   24174             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   24175             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   24176             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24177             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24178             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24179             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24180             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24181             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   24182             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24183             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   24184             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24185             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24186             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   24187             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   24188             :       96,    97,    98,    99,    -1,   101,   102,   103,    -1,    -1,
   24189             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24190             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24191             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24192             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24193             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   24194             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   24195             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   24196             :      176,    -1,    -1,    -1,   180,   181,   182,   183,   184,   185,
   24197             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   24198             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   24199             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   24200             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   24201             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   24202             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24203             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   24204             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   24205             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24206             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   24207             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   24208             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   24209             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   24210             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   24211             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   24212             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   24213             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24214             :      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
   24215             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24216             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   24217             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24218             :      396,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24219             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   24220             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24221             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   24222             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   24223             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   24224             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   24225             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   24226             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   24227             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24228             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24229             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24230             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24231             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24232             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   24233             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24234             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   24235             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24236             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24237             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   24238             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   24239             :       95,    96,    97,    98,    99,    -1,   101,   102,   103,    -1,
   24240             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   24241             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24242             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24243             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24244             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   24245             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   24246             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   24247             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   24248             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   24249             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   24250             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   24251             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   24252             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   24253             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24254             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   24255             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   24256             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24257             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   24258             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   24259             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   24260             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   24261             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   24262             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24263             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   24264             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   24265             :      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
   24266             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24267             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   24268             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24269             :      395,   396,   397,   398,   399,   400,   401,    -1,   403,   404,
   24270             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   24271             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24272             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   24273             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   24274             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   24275             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   24276             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   24277             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   24278             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24279             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24280             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24281             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24282             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24283             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   24284             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24285             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   24286             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24287             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24288             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   24289             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   24290             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   24291             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   24292             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24293             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24294             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24295             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   24296             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   24297             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   24298             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   24299             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   24300             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   24301             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   24302             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   24303             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   24304             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24305             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   24306             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   24307             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24308             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   24309             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   24310             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   24311             :      304,   305,    -1,   307,   308,   309,    -1,   311,   312,   313,
   24312             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   24313             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24314             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   24315             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   24316             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   24317             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24318             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   24319             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24320             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   24321             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   24322             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24323             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   24324             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   24325             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   24326             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   24327             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   24328             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   24329             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24330             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24331             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24332             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24333             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24334             :       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
   24335             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24336             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   24337             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   24338             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24339             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   24340             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   24341             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   24342             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   24343             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24344             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24345             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24346             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   24347             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24348             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   24349             :      173,   174,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   24350             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   24351             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   24352             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   24353             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   24354             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   24355             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24356             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   24357             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   24358             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24359             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   24360             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   24361             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   24362             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   24363             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   24364             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24365             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   24366             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   24367             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24368             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24369             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   24370             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24371             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24372             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   24373             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24374             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   24375             :      433,    -1,   435,   436,    -1,   438,   439,   440,   441,   442,
   24376             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   24377             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   24378             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   24379             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   24380             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24381             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24382             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24383             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24384             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24385             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   24386             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24387             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   24388             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   24389             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24390             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   24391             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   24392             :       -1,    93,    94,    95,    96,    97,    98,    99,    -1,   101,
   24393             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   24394             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24395             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24396             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24397             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24398             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   24399             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   24400             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   24401             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   24402             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   24403             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   24404             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   24405             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   24406             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24407             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   24408             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   24409             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24410             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   24411             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24412             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   24413             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   24414             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   24415             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24416             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   24417             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   24418             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24419             :      362,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24420             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   24421             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24422             :      392,   393,   394,   395,   396,   397,   398,   399,   400,   401,
   24423             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   24424             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24425             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   24426             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   24427             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   24428             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   24429             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   24430             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   24431             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   24432             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   24433             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   24434             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24435             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   24436             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   24437             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   24438             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   24439             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   24440             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   24441             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   24442             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   24443             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   24444             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   24445             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   24446             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   24447             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   24448             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   24449             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   24450             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   24451             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   24452             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   24453             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   24454             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   24455             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   24456             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   24457             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24458             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   24459             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   24460             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24461             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   24462             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24463             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   24464             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   24465             :      311,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   24466             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   24467             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   24468             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   24469             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24470             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   24471             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   24472             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24473             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   24474             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   24475             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24476             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24477             :       -1,   432,   433,    -1,   435,   436,    -1,   438,   439,   440,
   24478             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   24479             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   24480             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   24481             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   24482             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   24483             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24484             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24485             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24486             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24487             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   24488             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24489             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   24490             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   24491             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   24492             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   24493             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   24494             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   24495             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   24496             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   24497             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   24498             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   24499             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   24500             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   24501             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   24502             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   24503             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   24504             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   24505             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   24506             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   24507             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   24508             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   24509             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   24510             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   24511             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   24512             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   24513             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   24514             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   24515             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   24516             :       -1,   311,   312,   313,   314,    -1,    -1,   317,   318,   319,
   24517             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   24518             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   24519             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   24520             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   24521             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   24522             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   24523             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   24524             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   24525             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   24526             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   24527             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   24528             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   24529             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   24530             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   24531             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   24532             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   24533             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   24534             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   24535             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   24536             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   24537             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24538             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   24539             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   24540             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   24541             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   24542             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   24543             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   24544             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   24545             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   24546             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   24547             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   24548             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   24549             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   24550             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   24551             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   24552             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   24553             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   24554             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   24555             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   24556             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   24557             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   24558             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   24559             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   24560             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   24561             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   24562             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   24563             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   24564             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   24565             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   24566             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   24567             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   24568             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   24569             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   24570             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   24571             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   24572             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   24573             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   24574             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   24575             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   24576             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   24577             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   24578             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   24579             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   24580             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   24581             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   24582             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   24583             :      469,   470,   471,   472,    -1,   474,   475,   476,   477,   478,
   24584             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   24585             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   24586             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   24587             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   24588             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24589             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   24590             :       28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   24591             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   24592             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   24593             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   24594             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   24595             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   24596             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   24597             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   24598             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   24599             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   24600             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   24601             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   24602             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   24603             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   24604             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   24605             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   24606             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   24607             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   24608             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   24609             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   24610             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   24611             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   24612             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   24613             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   24614             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   24615             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   24616             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   24617             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   24618             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   24619             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   24620             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   24621             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   24622             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   24623             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   24624             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   24625             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   24626             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   24627             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   24628             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   24629             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   24630             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   24631             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   24632             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   24633             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   24634             :      468,   469,   470,   471,   472,    -1,   474,   475,   476,   477,
   24635             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   24636             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   24637             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   24638             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   24639             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24640             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   24641             :       27,    28,    29,    30,    31,    32,    -1,    -1,    -1,    -1,
   24642             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   24643             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   24644             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   24645             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   24646             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   24647             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   24648             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   24649             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   24650             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   24651             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   24652             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   24653             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   24654             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   24655             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   24656             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   24657             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   24658             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   24659             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   24660             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   24661             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   24662             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   24663             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   24664             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   24665             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   24666             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   24667             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   24668             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   24669             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   24670             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   24671             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   24672             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   24673             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   24674             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   24675             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   24676             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   24677             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   24678             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   24679             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   24680             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   24681             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   24682             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   24683             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   24684             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   24685             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   24686             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   24687             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   24688             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   24689             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   24690             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24691             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   24692             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   24693             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   24694             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   24695             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   24696             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   24697             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   24698             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   24699             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   24700             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   24701             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   24702             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   24703             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   24704             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   24705             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   24706             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   24707             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   24708             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   24709             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   24710             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   24711             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   24712             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   24713             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   24714             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   24715             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   24716             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   24717             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   24718             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   24719             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   24720             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   24721             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   24722             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   24723             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   24724             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   24725             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   24726             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   24727             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   24728             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   24729             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   24730             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   24731             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   24732             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   24733             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   24734             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   24735             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   24736             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   24737             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   24738             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   24739             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   24740             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   24741             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24742             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   24743             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   24744             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   24745             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   24746             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   24747             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   24748             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   24749             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   24750             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   24751             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   24752             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   24753             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   24754             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   24755             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   24756             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   24757             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   24758             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   24759             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   24760             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   24761             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   24762             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   24763             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   24764             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   24765             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   24766             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   24767             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   24768             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   24769             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   24770             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   24771             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   24772             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   24773             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   24774             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   24775             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   24776             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   24777             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   24778             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   24779             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   24780             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   24781             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   24782             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   24783             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   24784             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   24785             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   24786             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   24787             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   24788             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   24789             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   24790             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   24791             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   24792             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24793             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   24794             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    -1,
   24795             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   24796             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   24797             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   24798             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   24799             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   24800             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   24801             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   24802             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   24803             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   24804             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   24805             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   24806             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   24807             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   24808             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   24809             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   24810             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   24811             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   24812             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   24813             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   24814             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   24815             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   24816             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   24817             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   24818             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   24819             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   24820             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   24821             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   24822             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   24823             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   24824             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   24825             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   24826             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   24827             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   24828             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   24829             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   24830             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   24831             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   24832             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   24833             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   24834             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   24835             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   24836             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   24837             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   24838             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   24839             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   24840             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   24841             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   24842             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   24843             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24844             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   24845             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   24846             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   24847             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   24848             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   24849             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   24850             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   24851             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   24852             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   24853             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   24854             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   24855             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   24856             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   24857             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   24858             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   24859             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   24860             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   24861             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   24862             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   24863             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   24864             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   24865             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   24866             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   24867             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   24868             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   24869             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   24870             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   24871             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   24872             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   24873             :      303,   304,   305,    -1,   307,   308,   309,    -1,   311,   312,
   24874             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   24875             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   24876             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   24877             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   24878             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   24879             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   24880             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   24881             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   24882             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   24883             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   24884             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   24885             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   24886             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   24887             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   24888             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   24889             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   24890             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   24891             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   24892             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   24893             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   24894             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24895             :       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   24896             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   24897             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   24898             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   24899             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   24900             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   24901             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   24902             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   24903             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   24904             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   24905             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   24906             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   24907             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   24908             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   24909             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   24910             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   24911             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   24912             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   24913             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   24914             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   24915             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   24916             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   24917             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   24918             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   24919             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   24920             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   24921             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   24922             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   24923             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   24924             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   24925             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   24926             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   24927             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   24928             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   24929             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   24930             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   24931             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   24932             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   24933             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   24934             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   24935             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   24936             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   24937             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   24938             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   24939             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   24940             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   24941             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   24942             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   24943             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   24944             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   24945             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24946             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   24947             :       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
   24948             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   24949             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   24950             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   24951             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   24952             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   24953             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   24954             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   24955             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24956             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   24957             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   24958             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   24959             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   24960             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   24961             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   24962             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   24963             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   24964             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   24965             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   24966             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   24967             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   24968             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   24969             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   24970             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   24971             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   24972             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   24973             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   24974             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   24975             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   24976             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   24977             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   24978             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   24979             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   24980             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   24981             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   24982             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   24983             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   24984             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   24985             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   24986             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   24987             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   24988             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   24989             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   24990             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   24991             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   24992             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   24993             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   24994             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   24995             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   24996             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   24997             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   24998             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
   24999             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25000             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25001             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25002             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25003             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25004             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25005             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25006             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25007             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25008             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25009             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25010             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25011             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   25012             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   25013             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   25014             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   25015             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   25016             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   25017             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   25018             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   25019             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25020             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   25021             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   25022             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25023             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   25024             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25025             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   25026             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   25027             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   25028             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   25029             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   25030             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   25031             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25032             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25033             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25034             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25035             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25036             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25037             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25038             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25039             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   25040             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   25041             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   25042             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   25043             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   25044             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   25045             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25046             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25047             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25048             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25049             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25050             :       29,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   25051             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25052             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25053             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25054             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25055             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25056             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25057             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25058             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25059             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   25060             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25061             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25062             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   25063             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   25064             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   25065             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   25066             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   25067             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   25068             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   25069             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   25070             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25071             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   25072             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   25073             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25074             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25075             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   25076             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   25077             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   25078             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   25079             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   25080             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   25081             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   25082             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25083             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25084             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25085             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25086             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25087             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25088             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25089             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25090             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   25091             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   25092             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   25093             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   25094             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   25095             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   25096             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25097             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25098             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25099             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25100             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25101             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25102             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25103             :       48,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25104             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25105             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25106             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25107             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25108             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25109             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25110             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   25111             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25112             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25113             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   25114             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   25115             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   25116             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   25117             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   25118             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   25119             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   25120             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   25121             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25122             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   25123             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   25124             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   25125             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25126             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   25127             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   25128             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   25129             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   25130             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   25131             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   25132             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   25133             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   25134             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   25135             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   25136             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   25137             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   25138             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   25139             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   25140             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   25141             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   25142             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   25143             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   25144             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   25145             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   25146             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   25147             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   25148             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   25149             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25150             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25151             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25152             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   25153             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25154             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   25155             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25156             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25157             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25158             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25159             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25160             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25161             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25162             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25163             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25164             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   25165             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   25166             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   25167             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   25168             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   25169             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   25170             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   25171             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   25172             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   25173             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   25174             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   25175             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   25176             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25177             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   25178             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   25179             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   25180             :      307,   308,   309,    -1,   311,   312,   313,   314,    -1,    -1,
   25181             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   25182             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   25183             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   25184             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25185             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25186             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25187             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25188             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25189             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25190             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25191             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25192             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   25193             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   25194             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   25195             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   25196             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   25197             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   25198             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25199             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25200             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25201             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25202             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25203             :       26,    27,    28,    29,    30,    31,    32,    -1,    -1,    -1,
   25204             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25205             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25206             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25207             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25208             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25209             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25210             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25211             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25212             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   25213             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25214             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25215             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   25216             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   25217             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   25218             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   25219             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   25220             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   25221             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   25222             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   25223             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   25224             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25225             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   25226             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   25227             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25228             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   25229             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   25230             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   25231             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   25232             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   25233             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   25234             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   25235             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25236             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25237             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25238             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25239             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25240             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25241             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25242             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25243             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   25244             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   25245             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   25246             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   25247             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   25248             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   25249             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25250             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25251             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25252             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25253             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25254             :       25,    26,    27,    28,    29,    30,    31,    32,    -1,    -1,
   25255             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25256             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25257             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25258             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25259             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25260             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25261             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25262             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25263             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25264             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25265             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25266             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   25267             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   25268             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   25269             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   25270             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   25271             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   25272             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   25273             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   25274             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   25275             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25276             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   25277             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   25278             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25279             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   25280             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   25281             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   25282             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   25283             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   25284             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25285             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   25286             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   25287             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25288             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25289             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25290             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25291             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25292             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25293             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25294             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   25295             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   25296             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   25297             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   25298             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   25299             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   25300             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25301             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25302             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25303             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25304             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25305             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   25306             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25307             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25308             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25309             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25310             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25311             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25312             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25313             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25314             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25315             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25316             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25317             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   25318             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   25319             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   25320             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   25321             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   25322             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   25323             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   25324             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   25325             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   25326             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25327             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   25328             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   25329             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25330             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   25331             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   25332             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   25333             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   25334             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   25335             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25336             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   25337             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   25338             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25339             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25340             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25341             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25342             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25343             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25344             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25345             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   25346             :       -1,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
   25347             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   25348             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   25349             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   25350             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   25351             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25352             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25353             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25354             :        3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,
   25355             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25356             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   25357             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25358             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25359             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25360             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25361             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25362             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25363             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25364             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25365             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25366             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25367             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25368             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   25369             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25370             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   25371             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   25372             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   25373             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   25374             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   25375             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   25376             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   25377             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25378             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   25379             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   25380             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25381             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   25382             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   25383             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   25384             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   25385             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   25386             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25387             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   25388             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   25389             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25390             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25391             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25392             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25393             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25394             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25395             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25396             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   25397             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   25398             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   25399             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   25400             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   25401             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   25402             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25403             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25404             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25405             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    11,
   25406             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25407             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25408             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25409             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25410             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25411             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25412             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25413             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25414             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25415             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25416             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25417             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25418             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25419             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25420             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   25421             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   25422             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   25423             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   25424             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   25425             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   25426             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   25427             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   25428             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25429             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   25430             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   25431             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   25432             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   25433             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   25434             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   25435             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   25436             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   25437             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   25438             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   25439             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   25440             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   25441             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   25442             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   25443             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   25444             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   25445             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   25446             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   25447             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   25448             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   25449             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   25450             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   25451             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   25452             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   25453             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   25454             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25455             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25456             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25457             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25458             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   25459             :       31,    32,    -1,    -1,    -1,    -1,    -1,    38,    -1,    40,
   25460             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25461             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25462             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25463             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25464             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25465             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25466             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25467             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25468             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25469             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25470             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25471             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   25472             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   25473             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   25474             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   25475             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   25476             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   25477             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   25478             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   25479             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25480             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   25481             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   25482             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25483             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   25484             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25485             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   25486             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   25487             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   25488             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   25489             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   25490             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   25491             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   25492             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   25493             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   25494             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   25495             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   25496             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   25497             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   25498             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   25499             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   25500             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   25501             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   25502             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   25503             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   25504             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   25505             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   25506             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   25507             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   25508             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25509             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   25510             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    38,    -1,
   25511             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   25512             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   25513             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   25514             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   25515             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   25516             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   25517             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   25518             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   25519             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   25520             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   25521             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   25522             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   25523             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   25524             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   25525             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   25526             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   25527             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   25528             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   25529             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   25530             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   25531             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   25532             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   25533             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   25534             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   25535             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   25536             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   25537             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   25538             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   25539             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   25540             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   25541             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   25542             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   25543             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   25544             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   25545             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   25546             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   25547             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   25548             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   25549             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   25550             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   25551             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   25552             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   25553             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   25554             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   25555             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   25556             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   25557             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   25558             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   25559             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25560             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   25561             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   25562             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   25563             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   25564             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   25565             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   25566             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   25567             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   25568             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   25569             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   25570             :      119,   120,   121,    -1,   123,   124,   125,   126,   127,   128,
   25571             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   25572             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   25573             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   25574             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   25575             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   25576             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   25577             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   25578             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   25579             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   25580             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   25581             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   25582             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   25583             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   25584             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   25585             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   25586             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   25587             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   25588             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   25589             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   25590             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   25591             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   25592             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   25593             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   25594             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   25595             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   25596             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   25597             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   25598             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   25599             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   25600             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   25601             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   25602             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   25603             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   25604             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   25605             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   25606             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   25607             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   25608             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   25609             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   25610             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25611             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   25612             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   25613             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   25614             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   25615             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   25616             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   25617             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   25618             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   25619             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   25620             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   25621             :      118,   119,   120,   121,    -1,   123,   124,   125,   126,   127,
   25622             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   25623             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   25624             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   25625             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   25626             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   25627             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   25628             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   25629             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   25630             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   25631             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   25632             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   25633             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   25634             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   25635             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   25636             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   25637             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   25638             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   25639             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   25640             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   25641             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   25642             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   25643             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   25644             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   25645             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   25646             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   25647             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   25648             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   25649             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   25650             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   25651             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   25652             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   25653             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   25654             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   25655             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   25656             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   25657             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   25658             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   25659             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   25660             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   25661             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25662             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   25663             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   25664             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   25665             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   25666             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   25667             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   25668             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   25669             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   25670             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   25671             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   25672             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   25673             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   25674             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   25675             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   25676             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   25677             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   25678             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   25679             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   25680             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   25681             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   25682             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   25683             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   25684             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   25685             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   25686             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   25687             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   25688             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   25689             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   25690             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   25691             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   25692             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   25693             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   25694             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   25695             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   25696             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   25697             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   25698             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   25699             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   25700             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   25701             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   25702             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   25703             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   25704             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   25705             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   25706             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   25707             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   25708             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   25709             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   25710             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   25711             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   25712             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25713             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   25714             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   25715             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   25716             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   25717             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   25718             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   25719             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   25720             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   25721             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   25722             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   25723             :      116,   117,   118,   119,   120,   121,    -1,   123,   124,   125,
   25724             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   25725             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   25726             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   25727             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   25728             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   25729             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   25730             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   25731             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   25732             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   25733             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   25734             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   25735             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   25736             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   25737             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   25738             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   25739             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   25740             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   25741             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   25742             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   25743             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   25744             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   25745             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   25746             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   25747             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   25748             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   25749             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   25750             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   25751             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   25752             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   25753             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   25754             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   25755             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   25756             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   25757             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   25758             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   25759             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   25760             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   25761             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   25762             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   25763             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25764             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   25765             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   25766             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   25767             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   25768             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   25769             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   25770             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   25771             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   25772             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   25773             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   25774             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   25775             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   25776             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   25777             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   25778             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   25779             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   25780             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   25781             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   25782             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   25783             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   25784             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   25785             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   25786             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   25787             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   25788             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   25789             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   25790             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   25791             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   25792             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   25793             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   25794             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   25795             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   25796             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   25797             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   25798             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   25799             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   25800             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   25801             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   25802             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   25803             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   25804             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   25805             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   25806             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   25807             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   25808             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   25809             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   25810             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   25811             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   25812             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   25813             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   25814             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25815             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   25816             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   25817             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   25818             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   25819             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   25820             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   25821             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   25822             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   25823             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   25824             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   25825             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   25826             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   25827             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   25828             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   25829             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   25830             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   25831             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   25832             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   25833             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   25834             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   25835             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   25836             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   25837             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   25838             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   25839             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   25840             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   25841             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   25842             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   25843             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   25844             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   25845             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   25846             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   25847             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   25848             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   25849             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   25850             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   25851             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   25852             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   25853             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   25854             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   25855             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   25856             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   25857             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   25858             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   25859             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   25860             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   25861             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   25862             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   25863             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   25864             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   25865             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25866             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   25867             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   25868             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   25869             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   25870             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   25871             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   25872             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   25873             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   25874             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   25875             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   25876             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   25877             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   25878             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   25879             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   25880             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   25881             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   25882             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   25883             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   25884             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   25885             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   25886             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   25887             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   25888             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   25889             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   25890             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   25891             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   25892             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   25893             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   25894             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   25895             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   25896             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   25897             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   25898             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   25899             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   25900             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   25901             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   25902             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   25903             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   25904             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   25905             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   25906             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   25907             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   25908             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   25909             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   25910             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   25911             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   25912             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   25913             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   25914             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   25915             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   25916             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25917             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   25918             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   25919             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   25920             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   25921             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   25922             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   25923             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   25924             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   25925             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   25926             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   25927             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   25928             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   25929             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   25930             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   25931             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   25932             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   25933             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   25934             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   25935             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   25936             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   25937             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   25938             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   25939             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   25940             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   25941             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   25942             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   25943             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   25944             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   25945             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   25946             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   25947             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   25948             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   25949             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   25950             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   25951             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   25952             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   25953             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   25954             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   25955             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   25956             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   25957             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   25958             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   25959             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   25960             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   25961             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   25962             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   25963             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   25964             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   25965             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   25966             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   25967             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25968             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   25969             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   25970             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   25971             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   25972             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   25973             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   25974             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   25975             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   25976             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   25977             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   25978             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   25979             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   25980             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   25981             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   25982             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   25983             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   25984             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   25985             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   25986             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   25987             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   25988             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   25989             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   25990             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   25991             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   25992             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   25993             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   25994             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   25995             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   25996             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   25997             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   25998             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   25999             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   26000             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   26001             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   26002             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26003             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26004             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26005             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26006             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26007             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26008             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26009             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26010             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   26011             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   26012             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   26013             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   26014             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   26015             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   26016             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26017             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26018             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26019             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26020             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26021             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26022             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26023             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26024             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26025             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26026             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26027             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26028             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26029             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26030             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26031             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26032             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26033             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   26034             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   26035             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   26036             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   26037             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   26038             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   26039             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   26040             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   26041             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26042             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   26043             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   26044             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26045             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   26046             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26047             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   26048             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   26049             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   26050             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   26051             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   26052             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   26053             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26054             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26055             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26056             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26057             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26058             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26059             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26060             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26061             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   26062             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   26063             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   26064             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   26065             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   26066             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   26067             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26068             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26069             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26070             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26071             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26072             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26073             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26074             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26075             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26076             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26077             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26078             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26079             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26080             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26081             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26082             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26083             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26084             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   26085             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   26086             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   26087             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   26088             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   26089             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   26090             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   26091             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   26092             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26093             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   26094             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   26095             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26096             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26097             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   26098             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   26099             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   26100             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   26101             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   26102             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   26103             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   26104             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26105             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26106             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26107             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26108             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26109             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26110             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26111             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26112             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   26113             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   26114             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   26115             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   26116             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   26117             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   26118             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26119             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26120             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26121             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26122             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26123             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26124             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26125             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26126             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26127             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   26128             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   26129             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   26130             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   26131             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   26132             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   26133             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   26134             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   26135             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   26136             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   26137             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   26138             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   26139             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   26140             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   26141             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   26142             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   26143             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   26144             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   26145             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   26146             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   26147             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   26148             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   26149             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   26150             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   26151             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   26152             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   26153             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   26154             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   26155             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26156             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26157             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26158             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26159             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26160             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26161             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26162             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26163             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   26164             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   26165             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   26166             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   26167             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   26168             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   26169             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26170             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26171             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26172             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26173             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26174             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26175             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26176             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26177             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26178             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26179             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26180             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26181             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26182             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26183             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   26184             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26185             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26186             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   26187             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   26188             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   26189             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   26190             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   26191             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   26192             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   26193             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   26194             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   26195             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   26196             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   26197             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   26198             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26199             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   26200             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   26201             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   26202             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   26203             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   26204             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   26205             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   26206             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26207             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26208             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26209             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26210             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26211             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26212             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26213             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26214             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   26215             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   26216             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   26217             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   26218             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   26219             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   26220             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26221             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26222             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26223             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26224             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26225             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26226             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26227             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26228             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26229             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26230             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26231             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26232             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26233             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26234             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26235             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26236             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26237             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   26238             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   26239             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   26240             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   26241             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   26242             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   26243             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   26244             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   26245             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   26246             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26247             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   26248             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   26249             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26250             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   26251             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   26252             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   26253             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   26254             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   26255             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   26256             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   26257             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26258             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26259             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26260             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26261             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26262             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26263             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26264             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26265             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   26266             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   26267             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   26268             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   26269             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   26270             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   26271             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26272             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26273             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26274             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26275             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26276             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26277             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26278             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26279             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26280             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26281             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26282             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26283             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26284             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26285             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   26286             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26287             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26288             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   26289             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   26290             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   26291             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   26292             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   26293             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   26294             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   26295             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   26296             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   26297             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26298             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   26299             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   26300             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26301             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   26302             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   26303             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   26304             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   26305             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   26306             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26307             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   26308             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   26309             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26310             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26311             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26312             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26313             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26314             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26315             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26316             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   26317             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   26318             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   26319             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   26320             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   26321             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   26322             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26323             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26324             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26325             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26326             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26327             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26328             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26329             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26330             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26331             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26332             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26333             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26334             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26335             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26336             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26337             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26338             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26339             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   26340             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   26341             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   26342             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   26343             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   26344             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   26345             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   26346             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   26347             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   26348             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26349             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   26350             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   26351             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26352             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   26353             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   26354             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   26355             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   26356             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   26357             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26358             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   26359             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   26360             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26361             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26362             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26363             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26364             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26365             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26366             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26367             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   26368             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   26369             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   26370             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   26371             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   26372             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   26373             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26374             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26375             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26376             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26377             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26378             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26379             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26380             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26381             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26382             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26383             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26384             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26385             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26386             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26387             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26388             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26389             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26390             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   26391             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26392             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   26393             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   26394             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   26395             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   26396             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   26397             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   26398             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   26399             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26400             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   26401             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   26402             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26403             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   26404             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   26405             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   26406             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   26407             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   26408             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26409             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   26410             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   26411             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26412             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26413             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26414             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26415             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26416             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26417             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26418             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   26419             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   26420             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   26421             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   26422             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   26423             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   26424             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26425             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26426             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26427             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26428             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26429             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26430             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26431             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   26432             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   26433             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   26434             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   26435             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   26436             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   26437             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   26438             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   26439             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   26440             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   26441             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   26442             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   26443             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   26444             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   26445             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   26446             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   26447             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   26448             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   26449             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   26450             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   26451             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   26452             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   26453             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26454             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   26455             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26456             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   26457             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   26458             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   26459             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26460             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   26461             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   26462             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26463             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26464             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26465             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26466             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26467             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26468             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26469             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   26470             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   26471             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   26472             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   26473             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   26474             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   26475             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   26476             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26477             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26478             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26479             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26480             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26481             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26482             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26483             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26484             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26485             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26486             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26487             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26488             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26489             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   26490             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   26491             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   26492             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   26493             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   26494             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   26495             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   26496             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   26497             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   26498             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   26499             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   26500             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   26501             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   26502             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   26503             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   26504             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   26505             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   26506             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   26507             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   26508             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   26509             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   26510             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   26511             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   26512             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   26513             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   26514             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   26515             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   26516             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   26517             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   26518             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   26519             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   26520             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   26521             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   26522             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   26523             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   26524             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   26525             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   26526             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   26527             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   26528             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   26529             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   26530             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26531             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   26532             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26533             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   26534             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   26535             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   26536             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   26537             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   26538             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   26539             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   26540             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   26541             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   26542             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   26543             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   26544             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   26545             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   26546             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   26547             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   26548             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   26549             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   26550             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   26551             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   26552             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   26553             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   26554             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   26555             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   26556             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   26557             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   26558             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   26559             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   26560             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   26561             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   26562             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   26563             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   26564             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   26565             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   26566             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   26567             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   26568             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   26569             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   26570             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   26571             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   26572             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   26573             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   26574             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   26575             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   26576             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   26577             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   26578             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   26579             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   26580             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   26581             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26582             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   26583             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   26584             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   26585             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   26586             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   26587             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   26588             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   26589             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   26590             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   26591             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   26592             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   26593             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   26594             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   26595             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   26596             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   26597             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   26598             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   26599             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   26600             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   26601             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   26602             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   26603             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   26604             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   26605             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   26606             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   26607             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   26608             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   26609             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   26610             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   26611             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   26612             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   26613             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   26614             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   26615             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   26616             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   26617             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   26618             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   26619             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   26620             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   26621             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   26622             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   26623             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   26624             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   26625             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   26626             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   26627             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   26628             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   26629             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   26630             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   26631             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   26632             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26633             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   26634             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   26635             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   26636             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   26637             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   26638             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   26639             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   26640             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   26641             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   26642             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   26643             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   26644             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   26645             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   26646             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   26647             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   26648             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   26649             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   26650             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   26651             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   26652             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   26653             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   26654             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   26655             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   26656             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   26657             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   26658             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   26659             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   26660             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   26661             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   26662             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   26663             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   26664             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   26665             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   26666             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   26667             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   26668             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   26669             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   26670             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   26671             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   26672             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   26673             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   26674             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   26675             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   26676             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   26677             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   26678             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   26679             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   26680             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   26681             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   26682             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   26683             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26684             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   26685             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   26686             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   26687             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   26688             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   26689             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   26690             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   26691             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   26692             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   26693             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   26694             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   26695             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   26696             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   26697             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   26698             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   26699             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   26700             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   26701             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   26702             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   26703             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   26704             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   26705             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   26706             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   26707             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   26708             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   26709             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   26710             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   26711             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   26712             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   26713             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   26714             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   26715             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   26716             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   26717             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   26718             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   26719             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   26720             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   26721             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   26722             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   26723             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   26724             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   26725             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   26726             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   26727             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   26728             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   26729             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   26730             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   26731             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   26732             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   26733             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   26734             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26735             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   26736             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   26737             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   26738             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   26739             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   26740             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   26741             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   26742             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   26743             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   26744             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   26745             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   26746             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   26747             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   26748             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   26749             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   26750             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   26751             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   26752             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   26753             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   26754             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   26755             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   26756             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   26757             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   26758             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   26759             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   26760             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   26761             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   26762             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   26763             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   26764             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   26765             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   26766             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   26767             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   26768             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   26769             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   26770             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   26771             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   26772             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   26773             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   26774             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   26775             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   26776             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   26777             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   26778             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   26779             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   26780             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   26781             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   26782             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   26783             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   26784             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   26785             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26786             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   26787             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   26788             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   26789             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   26790             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   26791             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   26792             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   26793             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   26794             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   26795             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   26796             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   26797             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   26798             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   26799             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   26800             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   26801             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   26802             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   26803             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   26804             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   26805             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   26806             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   26807             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   26808             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   26809             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   26810             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   26811             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   26812             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   26813             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   26814             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   26815             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   26816             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   26817             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   26818             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   26819             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   26820             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   26821             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   26822             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   26823             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   26824             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   26825             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   26826             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   26827             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   26828             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   26829             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   26830             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   26831             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   26832             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   26833             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   26834             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   26835             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   26836             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26837             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   26838             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   26839             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   26840             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   26841             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   26842             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   26843             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   26844             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   26845             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   26846             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   26847             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   26848             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   26849             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   26850             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   26851             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   26852             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   26853             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   26854             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   26855             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   26856             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   26857             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   26858             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   26859             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   26860             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   26861             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   26862             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   26863             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   26864             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   26865             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   26866             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   26867             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   26868             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   26869             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   26870             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   26871             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   26872             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   26873             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   26874             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   26875             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   26876             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   26877             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   26878             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   26879             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   26880             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   26881             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   26882             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   26883             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   26884             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   26885             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   26886             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   26887             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26888             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   26889             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   26890             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   26891             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   26892             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   26893             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   26894             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   26895             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   26896             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   26897             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   26898             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   26899             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   26900             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   26901             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   26902             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   26903             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   26904             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   26905             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   26906             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   26907             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   26908             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   26909             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   26910             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   26911             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   26912             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   26913             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   26914             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   26915             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   26916             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   26917             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   26918             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   26919             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   26920             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   26921             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   26922             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   26923             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   26924             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   26925             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   26926             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   26927             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   26928             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   26929             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   26930             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   26931             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   26932             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   26933             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   26934             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   26935             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   26936             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   26937             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   26938             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26939             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   26940             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   26941             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   26942             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   26943             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   26944             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   26945             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   26946             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   26947             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   26948             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   26949             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   26950             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   26951             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   26952             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   26953             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   26954             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   26955             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   26956             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   26957             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   26958             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   26959             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   26960             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   26961             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   26962             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   26963             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   26964             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   26965             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   26966             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   26967             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   26968             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   26969             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   26970             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   26971             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   26972             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   26973             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   26974             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   26975             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   26976             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   26977             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   26978             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   26979             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   26980             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   26981             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   26982             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   26983             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   26984             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   26985             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   26986             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   26987             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   26988             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   26989             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   26990             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   26991             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   26992             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   26993             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   26994             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   26995             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   26996             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   26997             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   26998             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   26999             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27000             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27001             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27002             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27003             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27004             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   27005             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   27006             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   27007             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   27008             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   27009             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   27010             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   27011             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   27012             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27013             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   27014             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   27015             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27016             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   27017             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27018             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   27019             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   27020             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   27021             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   27022             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   27023             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   27024             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27025             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27026             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27027             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27028             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27029             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27030             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27031             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27032             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   27033             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   27034             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   27035             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   27036             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   27037             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   27038             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27039             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27040             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27041             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27042             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27043             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27044             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27045             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27046             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27047             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27048             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27049             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27050             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27051             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27052             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27053             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27054             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27055             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   27056             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   27057             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   27058             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   27059             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   27060             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   27061             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   27062             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   27063             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27064             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   27065             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   27066             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27067             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   27068             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27069             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   27070             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   27071             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   27072             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   27073             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   27074             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   27075             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27076             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27077             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27078             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27079             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27080             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27081             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27082             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27083             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   27084             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   27085             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   27086             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   27087             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   27088             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   27089             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27090             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27091             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27092             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27093             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27094             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27095             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27096             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27097             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27098             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27099             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27100             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27101             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27102             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27103             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27104             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27105             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27106             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   27107             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   27108             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   27109             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   27110             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   27111             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   27112             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   27113             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   27114             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27115             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   27116             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   27117             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27118             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27119             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   27120             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   27121             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   27122             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   27123             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   27124             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   27125             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   27126             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27127             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   27128             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   27129             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   27130             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   27131             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   27132             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   27133             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   27134             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   27135             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   27136             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   27137             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   27138             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   27139             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   27140             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   27141             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   27142             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   27143             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27144             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   27145             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   27146             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   27147             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   27148             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   27149             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27150             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27151             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27152             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27153             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27154             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27155             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27156             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27157             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   27158             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   27159             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   27160             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   27161             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   27162             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   27163             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   27164             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   27165             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27166             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   27167             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   27168             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   27169             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27170             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   27171             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   27172             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   27173             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   27174             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   27175             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   27176             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   27177             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27178             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27179             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27180             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27181             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27182             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27183             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27184             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27185             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   27186             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   27187             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   27188             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   27189             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   27190             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   27191             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27192             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27193             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27194             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27195             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27196             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27197             :       -1,    38,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27198             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27199             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27200             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27201             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27202             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27203             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27204             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27205             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27206             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27207             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27208             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   27209             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   27210             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   27211             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   27212             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   27213             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   27214             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   27215             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   27216             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   27217             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   27218             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   27219             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   27220             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27221             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   27222             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   27223             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   27224             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   27225             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   27226             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   27227             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   27228             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27229             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27230             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27231             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27232             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27233             :      397,   398,   399,   400,   401,    -1,    -1,   404,   405,   406,
   27234             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27235             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27236             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   27237             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   27238             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   27239             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   27240             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   27241             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   27242             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27243             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27244             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27245             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27246             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27247             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27248             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   27249             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27250             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27251             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27252             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27253             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27254             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27255             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27256             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27257             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27258             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27259             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   27260             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   27261             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   27262             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   27263             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   27264             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   27265             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   27266             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   27267             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   27268             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27269             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   27270             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   27271             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27272             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   27273             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   27274             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   27275             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   27276             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   27277             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   27278             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   27279             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27280             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27281             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27282             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27283             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27284             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   27285             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27286             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27287             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   27288             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   27289             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   27290             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   27291             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   27292             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   27293             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27294             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27295             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27296             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27297             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27298             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27299             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27300             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27301             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27302             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27303             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27304             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27305             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27306             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27307             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27308             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27309             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27310             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   27311             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   27312             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   27313             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   27314             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   27315             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   27316             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   27317             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   27318             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   27319             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27320             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   27321             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   27322             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27323             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   27324             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   27325             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   27326             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   27327             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   27328             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27329             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   27330             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   27331             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27332             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27333             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27334             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27335             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27336             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27337             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27338             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   27339             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   27340             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   27341             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   27342             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   27343             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   27344             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27345             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27346             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27347             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27348             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27349             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27350             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27351             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27352             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27353             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27354             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27355             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27356             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27357             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27358             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27359             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27360             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27361             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   27362             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   27363             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   27364             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   27365             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   27366             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   27367             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   27368             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   27369             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   27370             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27371             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   27372             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   27373             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27374             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   27375             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   27376             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   27377             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   27378             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   27379             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27380             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   27381             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   27382             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27383             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27384             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27385             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27386             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27387             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27388             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27389             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   27390             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   27391             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   27392             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   27393             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   27394             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   27395             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27396             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27397             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27398             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27399             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27400             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27401             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27402             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27403             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27404             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27405             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27406             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27407             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27408             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27409             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27410             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27411             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27412             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   27413             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27414             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   27415             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   27416             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   27417             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   27418             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   27419             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   27420             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   27421             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27422             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   27423             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   27424             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27425             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   27426             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   27427             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   27428             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   27429             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   27430             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27431             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   27432             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   27433             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   27434             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   27435             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   27436             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   27437             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   27438             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   27439             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   27440             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   27441             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   27442             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   27443             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   27444             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   27445             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   27446             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   27447             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   27448             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   27449             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27450             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   27451             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   27452             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   27453             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27454             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27455             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27456             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27457             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27458             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27459             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27460             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27461             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27462             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27463             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27464             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   27465             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   27466             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   27467             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   27468             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   27469             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   27470             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   27471             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   27472             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27473             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   27474             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   27475             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27476             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   27477             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27478             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   27479             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   27480             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   27481             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27482             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   27483             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   27484             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27485             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27486             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27487             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27488             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   27489             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   27490             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   27491             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   27492             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   27493             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   27494             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   27495             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   27496             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   27497             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   27498             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   27499             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   27500             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27501             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   27502             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   27503             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   27504             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   27505             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   27506             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   27507             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   27508             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   27509             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   27510             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27511             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   27512             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   27513             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   27514             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   27515             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   27516             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   27517             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   27518             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   27519             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   27520             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   27521             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   27522             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   27523             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   27524             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   27525             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   27526             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   27527             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   27528             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   27529             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   27530             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   27531             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   27532             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   27533             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   27534             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   27535             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   27536             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   27537             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   27538             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   27539             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   27540             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   27541             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   27542             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   27543             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   27544             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   27545             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   27546             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   27547             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   27548             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   27549             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   27550             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   27551             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   27552             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27553             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   27554             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27555             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   27556             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   27557             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   27558             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   27559             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   27560             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   27561             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   27562             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   27563             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   27564             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   27565             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   27566             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   27567             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   27568             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   27569             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   27570             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   27571             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   27572             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   27573             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   27574             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   27575             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   27576             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   27577             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   27578             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   27579             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   27580             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   27581             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   27582             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   27583             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   27584             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   27585             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   27586             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   27587             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   27588             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   27589             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   27590             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   27591             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   27592             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   27593             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   27594             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   27595             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   27596             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   27597             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   27598             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   27599             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   27600             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   27601             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   27602             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   27603             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27604             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   27605             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   27606             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   27607             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   27608             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   27609             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   27610             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   27611             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   27612             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   27613             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   27614             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   27615             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   27616             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   27617             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   27618             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   27619             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   27620             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   27621             :      189,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   27622             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   27623             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   27624             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   27625             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   27626             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   27627             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   27628             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   27629             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   27630             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   27631             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   27632             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   27633             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   27634             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   27635             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   27636             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   27637             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   27638             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   27639             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   27640             :       -1,   380,   381,   382,   383,   384,   385,   386,   387,   388,
   27641             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   27642             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   27643             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   27644             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   27645             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   27646             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   27647             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   27648             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   27649             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   27650             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   27651             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   27652             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   27653             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   27654             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27655             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   27656             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   27657             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   27658             :       -1,    49,    50,    51,    52,    53,    -1,    55,    56,    -1,
   27659             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   27660             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    77,
   27661             :       -1,    -1,    -1,    81,    82,    83,    84,    85,    86,    -1,
   27662             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   27663             :       98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,
   27664             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   27665             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   27666             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   27667             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   27668             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   27669             :      158,   159,   160,   161,   162,   163,    -1,   165,    -1,   167,
   27670             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,    -1,
   27671             :       -1,    -1,   180,   181,   182,   183,    -1,   185,   186,    -1,
   27672             :      188,   189,   190,    -1,   192,   193,   194,   195,   196,    -1,
   27673             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   27674             :      208,   209,   210,    -1,   212,    -1,   214,   215,   216,   217,
   27675             :      218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,
   27676             :       -1,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   27677             :      238,   239,   240,   241,   242,   243,   244,   245,   246,    -1,
   27678             :       -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,   257,
   27679             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   27680             :      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
   27681             :      278,   279,    -1,   281,   282,   283,   284,   285,   286,   287,
   27682             :      288,   289,   290,   291,   292,    -1,   294,   295,    -1,   297,
   27683             :       -1,   299,   300,   301,   302,   303,   304,   305,    -1,   307,
   27684             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   27685             :      318,   319,    -1,   321,    -1,   323,   324,   325,   326,   327,
   27686             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   27687             :      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
   27688             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   27689             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   27690             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   27691             :      378,    -1,   380,   381,   382,   383,   384,   385,   386,   387,
   27692             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   27693             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   27694             :       -1,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   27695             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   27696             :      428,   429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,
   27697             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   27698             :       -1,    -1,   450,   451,   452,   453,   454,    -1,   456,   457,
   27699             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   27700             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   27701             :      478,   479,   480,    -1,   482,    -1,   484,   485,   486,   487,
   27702             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   27703             :      498,   499,   500,   501,   502,   503,   504,   505,   506,   507,
   27704             :      508,   509,   510,   511,   512,   513,     3,    -1,    -1,    -1,
   27705             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27706             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   27707             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   27708             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   27709             :       47,    -1,    49,    50,    51,    52,    53,    -1,    55,    56,
   27710             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   27711             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   27712             :       77,    -1,    -1,    -1,    81,    82,    83,    84,    85,    86,
   27713             :       -1,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   27714             :       97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,    -1,
   27715             :       -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   27716             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   27717             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   27718             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   27719             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   27720             :      157,   158,   159,   160,   161,   162,   163,    -1,   165,    -1,
   27721             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   27722             :       -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,   186,
   27723             :       -1,   188,   189,   190,    -1,   192,   193,   194,   195,   196,
   27724             :       -1,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   27725             :      207,   208,   209,   210,    -1,   212,    -1,   214,   215,   216,
   27726             :      217,   218,   219,   220,    -1,   222,    -1,   224,    -1,    -1,
   27727             :      227,    -1,   229,   230,   231,   232,   233,   234,   235,   236,
   27728             :      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
   27729             :       -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,   256,
   27730             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   27731             :      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
   27732             :      277,   278,   279,    -1,   281,   282,   283,   284,   285,   286,
   27733             :      287,   288,   289,   290,   291,   292,    -1,   294,   295,    -1,
   27734             :      297,    -1,   299,   300,   301,   302,   303,   304,   305,    -1,
   27735             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   27736             :      317,   318,   319,    -1,   321,    -1,   323,   324,   325,   326,
   27737             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   27738             :      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
   27739             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   27740             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   27741             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   27742             :      377,   378,    -1,   380,   381,   382,   383,   384,   385,   386,
   27743             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   27744             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   27745             :      407,    -1,   409,   410,   411,   412,    -1,   414,   415,   416,
   27746             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   27747             :      427,   428,   429,   430,    -1,   432,   433,    -1,    -1,   436,
   27748             :       -1,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   27749             :      447,    -1,    -1,   450,   451,   452,   453,   454,    -1,   456,
   27750             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   27751             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   27752             :      477,   478,   479,   480,    -1,   482,    -1,   484,   485,   486,
   27753             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   27754             :      497,   498,   499,   500,   501,   502,   503,   504,   505,   506,
   27755             :      507,   508,   509,   510,   511,   512,   513,     3,    -1,    -1,
   27756             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27757             :       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   27758             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   27759             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   27760             :       46,    47,    -1,    49,    50,    51,    52,    53,    -1,    55,
   27761             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   27762             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   27763             :       76,    77,    -1,    -1,    -1,    81,    82,    83,    84,    85,
   27764             :       86,    -1,    88,    89,    90,    91,    -1,    93,    94,    95,
   27765             :       96,    97,    98,    -1,    -1,   101,   102,   103,    -1,    -1,
   27766             :       -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   27767             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   27768             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   27769             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   27770             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   27771             :      156,   157,   158,   159,   160,   161,   162,   163,    -1,   165,
   27772             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   27773             :      176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,   185,
   27774             :      186,    -1,   188,   189,   190,    -1,   192,   193,   194,   195,
   27775             :      196,    -1,   198,   199,   200,   201,    -1,   203,   204,   205,
   27776             :      206,   207,   208,   209,   210,    -1,   212,    -1,   214,   215,
   27777             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,    -1,
   27778             :       -1,   227,    -1,   229,   230,   231,   232,   233,   234,   235,
   27779             :      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
   27780             :      246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,   255,
   27781             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   27782             :      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
   27783             :      276,   277,   278,   279,    -1,   281,   282,   283,   284,   285,
   27784             :      286,   287,   288,   289,   290,   291,   292,    -1,   294,   295,
   27785             :       -1,   297,    -1,   299,   300,   301,   302,   303,   304,   305,
   27786             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   27787             :       -1,   317,   318,   319,    -1,   321,    -1,   323,   324,   325,
   27788             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   27789             :       -1,   337,   338,   339,   340,   341,   342,   343,   344,   345,
   27790             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   27791             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   27792             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   27793             :       -1,   377,   378,    -1,   380,   381,   382,   383,   384,   385,
   27794             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   27795             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   27796             :      406,   407,    -1,   409,   410,   411,   412,    -1,   414,   415,
   27797             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   27798             :      426,   427,   428,   429,   430,    -1,   432,   433,    -1,    -1,
   27799             :      436,    -1,   438,   439,   440,   441,   442,   443,    -1,   445,
   27800             :      446,   447,    -1,    -1,   450,   451,   452,   453,   454,    -1,
   27801             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   27802             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   27803             :      476,   477,   478,   479,   480,    -1,   482,    -1,   484,   485,
   27804             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   27805             :      496,   497,   498,   499,   500,   501,   502,   503,   504,   505,
   27806             :      506,   507,   508,   509,   510,   511,   512,   513,     3,    -1,
   27807             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27808             :       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   27809             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   27810             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   27811             :       45,    46,    47,    -1,    49,    50,    51,    52,    53,    -1,
   27812             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   27813             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   27814             :       75,    76,    77,    -1,    -1,    -1,    81,    82,    83,    84,
   27815             :       85,    86,    -1,    88,    89,    90,    91,    -1,    93,    94,
   27816             :       95,    96,    97,    98,    -1,    -1,   101,   102,   103,    -1,
   27817             :       -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,   114,
   27818             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   27819             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   27820             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   27821             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   27822             :      155,   156,   157,   158,   159,   160,   161,   162,   163,    -1,
   27823             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   27824             :      175,   176,    -1,    -1,    -1,   180,   181,   182,   183,    -1,
   27825             :      185,   186,    -1,   188,   189,   190,    -1,   192,   193,   194,
   27826             :      195,   196,    -1,   198,   199,   200,   201,    -1,   203,   204,
   27827             :      205,   206,   207,   208,   209,   210,    -1,   212,    -1,   214,
   27828             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   27829             :       -1,    -1,   227,    -1,   229,   230,   231,   232,   233,   234,
   27830             :      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
   27831             :      245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,    -1,
   27832             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   27833             :      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
   27834             :      275,   276,   277,   278,   279,    -1,   281,   282,   283,   284,
   27835             :      285,   286,   287,   288,   289,   290,   291,   292,    -1,   294,
   27836             :      295,    -1,   297,    -1,   299,   300,   301,   302,   303,   304,
   27837             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   27838             :       -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,   324,
   27839             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   27840             :      335,    -1,   337,   338,   339,   340,   341,   342,   343,   344,
   27841             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   27842             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   27843             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   27844             :      375,    -1,   377,   378,    -1,   380,   381,   382,   383,   384,
   27845             :      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   27846             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   27847             :      405,   406,   407,    -1,   409,   410,   411,   412,    -1,   414,
   27848             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   27849             :      425,   426,   427,   428,   429,   430,    -1,   432,   433,    -1,
   27850             :       -1,   436,    -1,   438,   439,   440,   441,   442,   443,    -1,
   27851             :      445,   446,   447,    -1,    -1,   450,   451,   452,   453,   454,
   27852             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   27853             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   27854             :      475,   476,   477,   478,   479,   480,    -1,   482,    -1,   484,
   27855             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   27856             :      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
   27857             :      505,   506,   507,   508,   509,   510,   511,   512,   513,     3,
   27858             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27859             :       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
   27860             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   27861             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   27862             :       44,    45,    46,    47,    -1,    49,    50,    51,    52,    53,
   27863             :       -1,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   27864             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   27865             :       74,    75,    76,    77,    -1,    -1,    -1,    81,    82,    83,
   27866             :       84,    85,    86,    -1,    88,    89,    90,    91,    -1,    93,
   27867             :       94,    95,    96,    97,    98,    -1,    -1,   101,   102,   103,
   27868             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,   113,
   27869             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   27870             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   27871             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   27872             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   27873             :      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
   27874             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   27875             :       -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,   183,
   27876             :       -1,   185,   186,    -1,   188,   189,   190,    -1,   192,   193,
   27877             :      194,   195,   196,    -1,   198,   199,   200,   201,    -1,   203,
   27878             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,    -1,
   27879             :      214,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   27880             :      224,    -1,    -1,   227,    -1,   229,   230,   231,   232,   233,
   27881             :      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
   27882             :      244,   245,   246,    -1,    -1,   249,   250,    -1,   252,    -1,
   27883             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   27884             :      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
   27885             :      274,   275,   276,   277,   278,   279,    -1,   281,   282,   283,
   27886             :      284,   285,   286,   287,   288,   289,   290,   291,   292,    -1,
   27887             :      294,   295,    -1,   297,    -1,   299,   300,   301,   302,   303,
   27888             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   27889             :      314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,   323,
   27890             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   27891             :      334,   335,    -1,   337,   338,   339,   340,   341,   342,   343,
   27892             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   27893             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   27894             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   27895             :      374,   375,    -1,   377,   378,    -1,   380,   381,   382,   383,
   27896             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   27897             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   27898             :      404,   405,   406,   407,    -1,   409,   410,   411,   412,    -1,
   27899             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   27900             :      424,   425,   426,   427,   428,   429,   430,    -1,   432,   433,
   27901             :       -1,    -1,   436,    -1,   438,   439,   440,   441,   442,   443,
   27902             :       -1,   445,   446,   447,    -1,    -1,   450,   451,   452,   453,
   27903             :      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   27904             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   27905             :      474,   475,   476,   477,   478,   479,   480,    -1,   482,    -1,
   27906             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   27907             :      494,   495,   496,   497,   498,   499,   500,   501,   502,   503,
   27908             :      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
   27909             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27910             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
   27911             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   27912             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   27913             :       -1,    44,    45,    46,    47,    -1,    49,    50,    51,    52,
   27914             :       53,    -1,    55,    56,    -1,    58,    59,    60,    61,    62,
   27915             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   27916             :       73,    74,    75,    76,    77,    -1,    -1,    -1,    81,    82,
   27917             :       83,    84,    85,    86,    -1,    88,    89,    90,    91,    -1,
   27918             :       93,    94,    95,    96,    97,    98,    -1,    -1,   101,   102,
   27919             :      103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,   112,
   27920             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   27921             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   27922             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   27923             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   27924             :       -1,   154,   155,   156,   157,   158,   159,   160,   161,   162,
   27925             :      163,    -1,   165,    -1,   167,   168,   169,   170,   171,    -1,
   27926             :      173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,   182,
   27927             :      183,    -1,   185,   186,    -1,   188,   189,   190,    -1,   192,
   27928             :      193,   194,   195,   196,    -1,   198,   199,   200,   201,    -1,
   27929             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   27930             :       -1,   214,   215,   216,   217,   218,   219,   220,    -1,   222,
   27931             :       -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,   232,
   27932             :      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
   27933             :      243,   244,   245,   246,    -1,    -1,   249,   250,    -1,   252,
   27934             :       -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   27935             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   27936             :      273,   274,   275,   276,   277,   278,   279,    -1,   281,   282,
   27937             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   27938             :       -1,   294,   295,    -1,   297,    -1,   299,   300,   301,   302,
   27939             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   27940             :      313,   314,    -1,    -1,   317,   318,   319,    -1,   321,    -1,
   27941             :      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   27942             :      333,   334,   335,    -1,   337,   338,   339,   340,   341,   342,
   27943             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   27944             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   27945             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   27946             :      373,   374,   375,    -1,   377,   378,    -1,   380,   381,   382,
   27947             :      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
   27948             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   27949             :      403,   404,   405,   406,   407,    -1,   409,   410,   411,   412,
   27950             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   27951             :      423,   424,   425,   426,   427,   428,   429,   430,    -1,   432,
   27952             :      433,    -1,    -1,   436,    -1,   438,   439,   440,   441,   442,
   27953             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,   452,
   27954             :      453,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
   27955             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   27956             :       -1,   474,   475,   476,   477,   478,   479,   480,    -1,   482,
   27957             :       -1,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   27958             :       -1,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   27959             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   27960             :      513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   27961             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
   27962             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   27963             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   27964             :       42,    -1,    44,    45,    46,    47,    -1,    49,    50,    51,
   27965             :       52,    53,    -1,    55,    56,    -1,    58,    59,    60,    61,
   27966             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   27967             :       -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,    81,
   27968             :       82,    83,    84,    85,    86,    -1,    88,    89,    90,    91,
   27969             :       -1,    93,    94,    95,    96,    97,    98,    -1,    -1,   101,
   27970             :      102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   111,
   27971             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   27972             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   27973             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   27974             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   27975             :      152,    -1,   154,   155,   156,   157,   158,   159,   160,   161,
   27976             :      162,   163,    -1,   165,    -1,   167,   168,   169,   170,   171,
   27977             :       -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,   181,
   27978             :      182,   183,    -1,   185,   186,    -1,   188,   189,   190,    -1,
   27979             :      192,   193,   194,   195,   196,    -1,   198,   199,   200,   201,
   27980             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   27981             :      212,    -1,   214,   215,   216,   217,   218,   219,   220,    -1,
   27982             :      222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,   231,
   27983             :      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
   27984             :      242,   243,   244,   245,   246,    -1,    -1,   249,   250,    -1,
   27985             :      252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   27986             :      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
   27987             :      272,   273,   274,   275,   276,   277,   278,   279,    -1,   281,
   27988             :      282,   283,   284,   285,   286,   287,   288,   289,   290,   291,
   27989             :      292,    -1,   294,   295,    -1,   297,    -1,   299,   300,   301,
   27990             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   27991             :      312,   313,   314,    -1,    -1,   317,   318,   319,    -1,   321,
   27992             :       -1,   323,   324,   325,   326,   327,   328,   329,   330,   331,
   27993             :      332,   333,   334,   335,    -1,   337,   338,   339,   340,   341,
   27994             :      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   27995             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   27996             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   27997             :      372,   373,   374,   375,    -1,   377,   378,    -1,   380,   381,
   27998             :      382,   383,   384,   385,   386,   387,   388,   389,   390,   391,
   27999             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28000             :       -1,   403,   404,   405,   406,   407,    -1,   409,   410,   411,
   28001             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28002             :      422,   423,   424,   425,   426,   427,   428,   429,   430,    -1,
   28003             :      432,   433,    -1,    -1,   436,    -1,   438,   439,   440,   441,
   28004             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   28005             :      452,   453,   454,    -1,   456,   457,   458,   459,   460,   461,
   28006             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   28007             :       -1,    -1,   474,   475,   476,   477,   478,   479,   480,    -1,
   28008             :      482,    -1,   484,   485,   486,   487,   488,    -1,    -1,   491,
   28009             :       -1,    -1,   494,   495,   496,   497,   498,   499,   500,   501,
   28010             :      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
   28011             :      512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28012             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
   28013             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28014             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28015             :       41,    42,    -1,    44,    45,    46,    47,    -1,    49,    50,
   28016             :       51,    52,    53,    -1,    55,    56,    -1,    58,    59,    60,
   28017             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28018             :       71,    -1,    73,    74,    75,    76,    77,    -1,    -1,    -1,
   28019             :       81,    82,    83,    84,    85,    86,    -1,    88,    89,    90,
   28020             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,    -1,
   28021             :      101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28022             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28023             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28024             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28025             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28026             :      151,   152,    -1,   154,   155,   156,   157,   158,   159,   160,
   28027             :      161,   162,   163,    -1,   165,    -1,   167,   168,   169,   170,
   28028             :      171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,   180,
   28029             :      181,   182,   183,    -1,   185,   186,    -1,   188,   189,   190,
   28030             :       -1,   192,   193,   194,   195,   196,    -1,   198,   199,   200,
   28031             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28032             :       -1,   212,    -1,   214,   215,   216,   217,   218,   219,   220,
   28033             :       -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,   230,
   28034             :      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
   28035             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,   250,
   28036             :       -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,   260,
   28037             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   28038             :      271,   272,   273,   274,   275,   276,   277,   278,   279,    -1,
   28039             :      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
   28040             :      291,   292,    -1,   294,   295,    -1,   297,    -1,   299,   300,
   28041             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28042             :       -1,   312,   313,   314,    -1,    -1,   317,   318,   319,    -1,
   28043             :      321,    -1,   323,   324,   325,   326,   327,   328,   329,   330,
   28044             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,   340,
   28045             :      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
   28046             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   28047             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28048             :      371,   372,   373,   374,   375,    -1,   377,   378,    -1,   380,
   28049             :      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
   28050             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28051             :      401,    -1,   403,   404,   405,   406,   407,    -1,   409,   410,
   28052             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28053             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   28054             :       -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,   440,
   28055             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   28056             :      451,   452,   453,   454,    -1,   456,   457,   458,   459,   460,
   28057             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28058             :      471,    -1,    -1,   474,   475,   476,   477,   478,   479,   480,
   28059             :       -1,   482,    -1,   484,   485,   486,   487,   488,    -1,    -1,
   28060             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,   500,
   28061             :      501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
   28062             :      511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28063             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28064             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28065             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28066             :       40,    41,    42,    -1,    44,    45,    46,    47,    -1,    49,
   28067             :       50,    51,    52,    53,    -1,    55,    56,    -1,    58,    59,
   28068             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28069             :       70,    71,    -1,    73,    74,    75,    76,    77,    -1,    -1,
   28070             :       -1,    81,    82,    83,    84,    85,    86,    -1,    88,    89,
   28071             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28072             :       -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,    -1,
   28073             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28074             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28075             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28076             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28077             :      150,   151,   152,    -1,   154,   155,   156,   157,   158,   159,
   28078             :      160,   161,   162,   163,    -1,   165,    -1,   167,   168,   169,
   28079             :      170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,    -1,
   28080             :      180,   181,   182,   183,    -1,   185,   186,    -1,   188,   189,
   28081             :      190,    -1,   192,   193,   194,   195,   196,    -1,   198,   199,
   28082             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   28083             :      210,    -1,   212,    -1,   214,   215,   216,   217,   218,   219,
   28084             :      220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,   229,
   28085             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   28086             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   28087             :      250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,    -1,
   28088             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   28089             :      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   28090             :       -1,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   28091             :      290,   291,   292,    -1,   294,   295,    -1,   297,    -1,   299,
   28092             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   28093             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,   319,
   28094             :       -1,   321,    -1,   323,   324,   325,   326,   327,   328,   329,
   28095             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   28096             :      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
   28097             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28098             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28099             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,    -1,
   28100             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   28101             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28102             :      400,   401,    -1,   403,   404,   405,   406,   407,    -1,   409,
   28103             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28104             :      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
   28105             :      430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,   439,
   28106             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   28107             :      450,   451,   452,   453,   454,    -1,   456,   457,   458,   459,
   28108             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   28109             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,   479,
   28110             :      480,    -1,   482,    -1,   484,   485,   486,   487,   488,    -1,
   28111             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28112             :      500,   501,   502,   503,   504,   505,   506,   507,   508,   509,
   28113             :      510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,    -1,
   28114             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28115             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28116             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28117             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    -1,
   28118             :       49,    50,    51,    52,    53,    -1,    55,    56,    -1,    58,
   28119             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28120             :       69,    70,    71,    -1,    73,    74,    75,    76,    77,    -1,
   28121             :       -1,    -1,    81,    82,    83,    84,    85,    86,    -1,    88,
   28122             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28123             :       -1,    -1,   101,   102,   103,    -1,    -1,    -1,    -1,    -1,
   28124             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28125             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28126             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28127             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28128             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,   158,
   28129             :      159,   160,   161,   162,   163,    -1,   165,    -1,   167,   168,
   28130             :      169,   170,   171,    -1,   173,    -1,   175,   176,    -1,    -1,
   28131             :       -1,   180,   181,   182,   183,    -1,   185,   186,    -1,   188,
   28132             :       -1,   190,    -1,   192,   193,   194,   195,   196,    -1,   198,
   28133             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   28134             :      209,   210,    -1,   212,    -1,   214,   215,   216,   217,   218,
   28135             :      219,   220,    -1,   222,    -1,   224,    -1,    -1,   227,    -1,
   28136             :      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
   28137             :      239,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   28138             :      249,   250,    -1,   252,    -1,    -1,   255,   256,   257,    -1,
   28139             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28140             :      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
   28141             :      279,    -1,   281,   282,   283,   284,   285,   286,   287,   288,
   28142             :      289,   290,   291,   292,    -1,   294,   295,    -1,   297,    -1,
   28143             :      299,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   28144             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   28145             :      319,    -1,   321,    -1,   323,   324,   325,   326,   327,   328,
   28146             :      329,   330,    -1,   332,   333,   334,   335,    -1,   337,   338,
   28147             :      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
   28148             :      349,   350,   351,   352,   353,   354,   355,    -1,   357,   358,
   28149             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28150             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28151             :       -1,   380,   381,   382,   383,   384,   385,    -1,   387,   388,
   28152             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28153             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,    -1,
   28154             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28155             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28156             :      429,   430,    -1,   432,   433,    -1,    -1,   436,    -1,   438,
   28157             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   28158             :       -1,   450,   451,   452,   453,   454,    -1,   456,   457,   458,
   28159             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   28160             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   28161             :      479,   480,    -1,   482,    -1,   484,   485,   486,   487,   488,
   28162             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28163             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   28164             :      509,   510,   511,   512,   513,     3,    -1,    -1,    -1,    -1,
   28165             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28166             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28167             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28168             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28169             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   28170             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28171             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   28172             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   28173             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28174             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   28175             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28176             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28177             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28178             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28179             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   28180             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   28181             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   28182             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   28183             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   28184             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   28185             :      208,   209,   210,    -1,   212,   213,   214,   215,   216,   217,
   28186             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   28187             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28188             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   28189             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   28190             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   28191             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   28192             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   28193             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   28194             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   28195             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   28196             :      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
   28197             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   28198             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   28199             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28200             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28201             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28202             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   28203             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28204             :      398,   399,   400,   401,    -1,   403,   404,   405,   406,   407,
   28205             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28206             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28207             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   28208             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   28209             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   28210             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   28211             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   28212             :      478,    -1,   480,   481,   482,   483,   484,   485,   486,   487,
   28213             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28214             :      498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28215             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,
   28216             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28217             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28218             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   28219             :       51,    -1,    53,    54,    55,    56,    -1,    58,    59,    60,
   28220             :       61,    62,    63,    64,    -1,    -1,    67,    68,    69,    70,
   28221             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   28222             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   28223             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   28224             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   28225             :      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
   28226             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28227             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28228             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28229             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   28230             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,   170,
   28231             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   28232             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   28233             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   28234             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28235             :       -1,   212,   213,    -1,   215,   216,   217,   218,   219,   220,
   28236             :       -1,   222,    -1,   224,   225,   226,   227,   228,   229,    -1,
   28237             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   28238             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   28239             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   28240             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   28241             :      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
   28242             :      281,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   28243             :       -1,   292,    -1,   294,   295,   296,   297,   298,    -1,   300,
   28244             :      301,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28245             :       -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,   320,
   28246             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   28247             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   28248             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   28249             :      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
   28250             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28251             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   28252             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   28253             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28254             :      401,    -1,   403,   404,   405,   406,   407,   408,   409,   410,
   28255             :      411,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28256             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   28257             :       -1,   432,   433,    -1,   435,   436,   437,   438,   439,   440,
   28258             :      441,   442,   443,    -1,   445,   446,   447,    -1,    -1,   450,
   28259             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   28260             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28261             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,   480,
   28262             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   28263             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,     3,
   28264             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28265             :      511,   512,   513,    -1,    -1,    -1,    20,    21,    22,    23,
   28266             :       24,    25,    26,    27,    28,    -1,    30,    31,    32,    -1,
   28267             :       -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,
   28268             :       44,    45,    46,    47,    48,    49,    50,    51,    -1,    53,
   28269             :       54,    55,    56,    -1,    58,    59,    60,    61,    62,    63,
   28270             :       64,    -1,    -1,    67,    68,    69,    70,    71,    -1,    73,
   28271             :       74,    75,    76,    -1,    -1,    79,    -1,    81,    82,    83,
   28272             :       84,    85,    86,    87,    88,    89,    90,    91,    -1,    93,
   28273             :       94,    95,    96,    97,    98,    -1,   100,   101,   102,   103,
   28274             :       -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,
   28275             :      114,   115,   116,   117,   118,   119,    -1,   121,    -1,   123,
   28276             :      124,   125,   126,   127,   128,   129,    -1,   131,   132,   133,
   28277             :      134,    -1,    -1,   137,   138,   139,   140,   141,    -1,   143,
   28278             :      144,   145,   146,    -1,   148,   149,   150,   151,   152,    -1,
   28279             :      154,   155,   156,   157,    -1,   159,   160,   161,   162,    -1,
   28280             :       -1,   165,    -1,   167,   168,   169,   170,   171,    -1,   173,
   28281             :       -1,   175,   176,   177,    -1,   179,   180,   181,   182,   183,
   28282             :       -1,   185,    -1,    -1,    -1,   189,   190,    -1,   192,   193,
   28283             :      194,   195,   196,   197,   198,   199,   200,   201,    -1,   203,
   28284             :      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
   28285             :       -1,   215,   216,   217,   218,   219,   220,    -1,   222,    -1,
   28286             :      224,   225,   226,   227,   228,   229,    -1,    -1,    -1,    -1,
   28287             :       -1,    -1,    -1,    -1,    -1,    -1,   240,   241,   242,   243,
   28288             :      244,   245,   246,    -1,    -1,   249,    -1,   251,   252,   253,
   28289             :       -1,   255,   256,   257,    -1,    -1,   260,   261,   262,   263,
   28290             :      264,   265,   266,   267,   268,   269,    -1,   271,   272,   273,
   28291             :      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
   28292             :      284,   285,   286,   287,   288,   289,   290,    -1,   292,    -1,
   28293             :      294,   295,   296,   297,    -1,    -1,   300,   301,   302,   303,
   28294             :      304,   305,    -1,   307,   308,   309,    -1,    -1,   312,   313,
   28295             :      314,    -1,    -1,   317,   318,    -1,   320,   321,   322,    -1,
   28296             :      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
   28297             :      334,   335,    -1,   337,   338,   339,    -1,   341,    -1,   343,
   28298             :      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
   28299             :      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
   28300             :      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
   28301             :      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
   28302             :      384,    -1,   386,   387,   388,   389,   390,   391,   392,   393,
   28303             :      394,   395,    -1,   397,   398,   399,   400,   401,    -1,   403,
   28304             :      404,   405,   406,   407,   408,   409,   410,   411,   412,    -1,
   28305             :      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
   28306             :      424,   425,   426,   427,   428,    -1,   430,    -1,   432,   433,
   28307             :       -1,    -1,   436,   437,   438,   439,   440,   441,   442,   443,
   28308             :       -1,   445,   446,   447,    -1,    -1,   450,   451,    -1,   453,
   28309             :       -1,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
   28310             :      464,    -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,
   28311             :      474,   475,   476,   477,   478,    -1,   480,    -1,   482,   483,
   28312             :      484,   485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,
   28313             :      494,   495,   496,   497,   498,   499,     3,    -1,    -1,    -1,
   28314             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,
   28315             :       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
   28316             :       27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,
   28317             :       -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,    46,
   28318             :       47,    48,    49,    50,    51,    -1,    53,    54,    55,    56,
   28319             :       -1,    58,    59,    60,    61,    62,    63,    64,    -1,    -1,
   28320             :       67,    68,    69,    70,    71,    -1,    73,    74,    75,    76,
   28321             :       -1,    -1,    79,    -1,    81,    82,    83,    84,    85,    86,
   28322             :       87,    88,    89,    90,    91,    -1,    93,    94,    95,    96,
   28323             :       97,    98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,
   28324             :      107,    -1,    -1,    -1,   111,   112,   113,   114,   115,   116,
   28325             :      117,   118,   119,    -1,   121,    -1,   123,   124,   125,   126,
   28326             :      127,   128,   129,    -1,   131,   132,   133,   134,    -1,    -1,
   28327             :      137,   138,   139,   140,   141,    -1,   143,   144,   145,   146,
   28328             :       -1,   148,   149,   150,   151,   152,    -1,   154,   155,   156,
   28329             :      157,    -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,
   28330             :      167,   168,   169,   170,   171,    -1,   173,    -1,   175,   176,
   28331             :      177,    -1,   179,   180,   181,   182,   183,    -1,   185,    -1,
   28332             :       -1,    -1,   189,   190,    -1,   192,   193,   194,   195,   196,
   28333             :      197,   198,   199,   200,   201,    -1,   203,   204,   205,   206,
   28334             :      207,   208,   209,   210,    -1,   212,   213,    -1,   215,   216,
   28335             :      217,   218,   219,   220,    -1,   222,    -1,   224,   225,   226,
   28336             :      227,   228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28337             :       -1,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
   28338             :       -1,    -1,   249,    -1,   251,   252,   253,    -1,   255,   256,
   28339             :      257,    -1,    -1,   260,   261,   262,   263,   264,   265,   266,
   28340             :      267,   268,   269,    -1,   271,   272,   273,   274,   275,   276,
   28341             :      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
   28342             :      287,   288,   289,   290,    -1,   292,    -1,   294,   295,   296,
   28343             :      297,    -1,    -1,   300,   301,   302,   303,   304,   305,    -1,
   28344             :      307,   308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,
   28345             :      317,   318,    -1,   320,   321,   322,    -1,   324,   325,   326,
   28346             :      327,   328,   329,   330,   331,   332,   333,   334,   335,    -1,
   28347             :      337,   338,   339,    -1,   341,    -1,   343,   344,   345,    -1,
   28348             :      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
   28349             :      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
   28350             :      367,   368,   369,   370,   371,   372,   373,   374,   375,    -1,
   28351             :      377,   378,   379,   380,   381,   382,   383,   384,    -1,   386,
   28352             :      387,   388,   389,   390,   391,   392,   393,   394,   395,    -1,
   28353             :      397,   398,   399,   400,   401,    -1,   403,   404,   405,   406,
   28354             :      407,   408,   409,   410,   411,   412,    -1,   414,   415,   416,
   28355             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28356             :      427,   428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,
   28357             :      437,   438,   439,   440,   441,   442,   443,    -1,   445,   446,
   28358             :      447,    -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,
   28359             :      457,   458,   459,   460,   461,   462,   463,   464,    -1,    -1,
   28360             :      467,   468,   469,   470,   471,    -1,    -1,   474,   475,   476,
   28361             :      477,   478,    -1,   480,    -1,   482,   483,   484,   485,   486,
   28362             :      487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,
   28363             :      497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,
   28364             :       -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,
   28365             :       20,    21,    22,    23,    24,    25,    26,    27,    28,    -1,
   28366             :       30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28367             :       40,    41,    42,    -1,    44,    45,    46,    47,    48,    49,
   28368             :       50,    51,    -1,    53,    54,    55,    56,    -1,    58,    59,
   28369             :       60,    61,    62,    63,    64,    -1,    -1,    67,    68,    69,
   28370             :       70,    71,    -1,    73,    74,    75,    76,    -1,    -1,    79,
   28371             :       -1,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   28372             :       90,    91,    -1,    93,    94,    95,    96,    97,    98,    -1,
   28373             :      100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,
   28374             :       -1,   111,   112,   113,   114,   115,   116,   117,   118,   119,
   28375             :       -1,   121,    -1,   123,   124,   125,   126,   127,   128,   129,
   28376             :       -1,   131,   132,   133,   134,    -1,    -1,   137,   138,   139,
   28377             :      140,   141,    -1,   143,   144,   145,   146,    -1,   148,   149,
   28378             :      150,   151,   152,    -1,   154,   155,   156,   157,    -1,   159,
   28379             :      160,   161,   162,    -1,    -1,   165,    -1,   167,   168,   169,
   28380             :      170,   171,   172,   173,    -1,   175,   176,   177,    -1,   179,
   28381             :      180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,
   28382             :      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
   28383             :      200,   201,    -1,   203,   204,   205,   206,   207,   208,   209,
   28384             :      210,    -1,   212,   213,    -1,   215,   216,   217,   218,   219,
   28385             :      220,    -1,   222,    -1,   224,   225,   226,   227,   228,   229,
   28386             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28387             :      240,   241,   242,   243,   244,   245,   246,    -1,    -1,   249,
   28388             :       -1,   251,   252,   253,    -1,   255,   256,   257,    -1,    -1,
   28389             :      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
   28390             :       -1,   271,   272,   273,   274,   275,   276,   277,   278,   279,
   28391             :      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
   28392             :       -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,
   28393             :      300,   301,   302,   303,   304,   305,    -1,   307,   308,   309,
   28394             :       -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,
   28395             :      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
   28396             :      330,   331,   332,   333,   334,   335,    -1,   337,   338,   339,
   28397             :       -1,   341,    -1,   343,   344,   345,    -1,   347,   348,   349,
   28398             :      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
   28399             :      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
   28400             :      370,   371,   372,   373,   374,   375,    -1,   377,   378,   379,
   28401             :      380,   381,   382,   383,   384,    -1,   386,   387,   388,   389,
   28402             :      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
   28403             :      400,   401,    -1,   403,   404,   405,   406,   407,   408,   409,
   28404             :      410,   411,   412,    -1,   414,   415,   416,   417,   418,   419,
   28405             :      420,   421,   422,   423,   424,   425,   426,   427,   428,    -1,
   28406             :      430,    -1,   432,   433,    -1,    -1,   436,   437,   438,   439,
   28407             :      440,   441,   442,   443,    -1,   445,   446,   447,    -1,    -1,
   28408             :      450,   451,    -1,   453,    -1,    -1,   456,   457,   458,   459,
   28409             :      460,   461,   462,   463,   464,    -1,    -1,   467,   468,   469,
   28410             :      470,   471,    -1,    -1,   474,   475,   476,   477,   478,    -1,
   28411             :      480,    -1,   482,   483,   484,   485,   486,   487,   488,    -1,
   28412             :       -1,   491,    -1,    -1,   494,   495,   496,   497,   498,   499,
   28413             :        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28414             :       -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,    22,
   28415             :       23,    24,    25,    26,    27,    28,    -1,    30,    31,    32,
   28416             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,    42,
   28417             :       -1,    44,    45,    46,    47,    48,    49,    50,    51,    -1,
   28418             :       53,    54,    55,    56,    -1,    58,    59,    60,    61,    62,
   28419             :       63,    64,    -1,    -1,    67,    68,    69,    70,    71,    -1,
   28420             :       73,    74,    75,    76,    -1,    -1,    79,    -1,    81,    82,
   28421             :       83,    84,    85,    86,    87,    88,    89,    90,    91,    -1,
   28422             :       93,    94,    95,    96,    97,    98,    -1,   100,   101,   102,
   28423             :      103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,   112,
   28424             :      113,   114,   115,   116,   117,   118,   119,    -1,   121,    -1,
   28425             :      123,   124,   125,   126,   127,   128,   129,    -1,   131,   132,
   28426             :      133,   134,    -1,    -1,   137,   138,   139,   140,   141,    -1,
   28427             :      143,   144,   145,   146,    -1,   148,   149,   150,   151,   152,
   28428             :       -1,   154,   155,   156,   157,    -1,   159,   160,   161,   162,
   28429             :       -1,    -1,   165,    -1,   167,   168,   169,   170,   171,   172,
   28430             :      173,    -1,   175,   176,   177,    -1,   179,   180,   181,   182,
   28431             :      183,    -1,   185,    -1,    -1,    -1,   189,   190,    -1,   192,
   28432             :      193,   194,   195,   196,   197,   198,   199,   200,   201,    -1,
   28433             :      203,   204,   205,   206,   207,   208,   209,   210,    -1,   212,
   28434             :      213,    -1,   215,   216,   217,   218,   219,   220,    -1,   222,
   28435             :       -1,   224,   225,   226,   227,   228,   229,    -1,    -1,    -1,
   28436             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   241,   242,
   28437             :      243,   244,   245,   246,    -1,    -1,   249,    -1,   251,   252,
   28438             :      253,    -1,   255,   256,   257,    -1,    -1,   260,   261,   262,
   28439             :      263,   264,   265,   266,   267,   268,   269,    -1,   271,   272,
   28440             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   28441             :      283,   284,   285,   286,   287,   288,   289,    -1,    -1,   292,
   28442             :       -1,   294,   295,   296,   297,    -1,    -1,   300,   301,   302,
   28443             :      303,   304,   305,    -1,   307,   308,   309,    -1,    -1,   312,
   28444             :      313,   314,    -1,    -1,   317,   318,    -1,   320,   321,   322,
   28445             :       -1,   324,   325,   326,   327,   328,   329,   330,   331,   332,
   28446             :      333,   334,   335,    -1,   337,   338,   339,    -1,   341,    -1,
   28447             :      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
   28448             :      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
   28449             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28450             :      373,   374,   375,    -1,   377,   378,   379,   380,   381,   382,
   28451             :      383,   384,    -1,   386,   387,   388,   389,   390,   391,   392,
   28452             :      393,   394,   395,    -1,   397,   398,   399,   400,   401,    -1,
   28453             :      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
   28454             :       -1,   414,   415,   416,   417,   418,   419,   420,   421,   422,
   28455             :      423,   424,   425,   426,   427,   428,    -1,   430,    -1,   432,
   28456             :      433,    -1,    -1,   436,   437,   438,   439,   440,   441,   442,
   28457             :      443,    -1,   445,   446,   447,    -1,    -1,   450,   451,    -1,
   28458             :      453,    -1,    -1,   456,   457,   458,   459,   460,   461,   462,
   28459             :      463,   464,    -1,    -1,   467,   468,   469,   470,   471,    -1,
   28460             :       -1,   474,   475,   476,   477,   478,    -1,   480,    -1,   482,
   28461             :      483,   484,   485,   486,   487,   488,    -1,    -1,   491,    -1,
   28462             :       -1,   494,   495,   496,   497,   498,   499,     3,    -1,    -1,
   28463             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,   512,
   28464             :      513,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
   28465             :       26,    27,    28,    -1,    30,    31,    32,    -1,    -1,    -1,
   28466             :       -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,    45,
   28467             :       46,    47,    48,    49,    50,    51,    -1,    53,    54,    55,
   28468             :       56,    -1,    58,    59,    60,    61,    62,    63,    64,    -1,
   28469             :       -1,    67,    68,    69,    70,    71,    -1,    73,    74,    75,
   28470             :       76,    -1,    -1,    79,    -1,    81,    82,    83,    84,    85,
   28471             :       86,    87,    88,    89,    90,    91,    -1,    93,    94,    95,
   28472             :       96,    97,    98,    -1,   100,   101,   102,   103,    -1,    -1,
   28473             :       -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,   115,
   28474             :      116,   117,   118,   119,    -1,   121,    -1,   123,   124,   125,
   28475             :      126,   127,   128,   129,    -1,   131,   132,   133,   134,    -1,
   28476             :       -1,   137,   138,   139,   140,   141,    -1,   143,   144,   145,
   28477             :      146,    -1,   148,   149,   150,   151,   152,    -1,   154,   155,
   28478             :      156,   157,    -1,   159,   160,   161,   162,    -1,    -1,   165,
   28479             :       -1,   167,   168,   169,   170,   171,    -1,   173,    -1,   175,
   28480             :      176,   177,    -1,   179,   180,   181,   182,   183,    -1,   185,
   28481             :       -1,    -1,    -1,   189,   190,    -1,   192,   193,   194,   195,
   28482             :      196,   197,   198,   199,   200,   201,    -1,   203,   204,   205,
   28483             :      206,   207,   208,   209,   210,    -1,   212,   213,    -1,   215,
   28484             :      216,   217,   218,   219,   220,    -1,   222,    -1,   224,   225,
   28485             :      226,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,    -1,
   28486             :       -1,    -1,    -1,    -1,   240,   241,   242,   243,   244,   245,
   28487             :      246,    -1,    -1,   249,    -1,   251,   252,   253,    -1,   255,
   28488             :      256,   257,    -1,    -1,   260,   261,   262,   263,   264,   265,
   28489             :      266,   267,   268,   269,    -1,   271,   272,   273,   274,   275,
   28490             :      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
   28491             :      286,   287,   288,   289,    -1,    -1,   292,    -1,   294,   295,
   28492             :      296,   297,    -1,    -1,   300,   301,   302,   303,   304,   305,
   28493             :       -1,   307,   308,   309,    -1,    -1,   312,   313,   314,    -1,
   28494             :       -1,   317,   318,    -1,   320,   321,   322,    -1,   324,   325,
   28495             :      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
   28496             :       -1,   337,   338,   339,    -1,   341,    -1,   343,   344,   345,
   28497             :       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
   28498             :      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
   28499             :      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
   28500             :       -1,   377,   378,   379,   380,   381,   382,   383,   384,    -1,
   28501             :      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
   28502             :       -1,   397,   398,   399,   400,   401,    -1,   403,   404,   405,
   28503             :      406,   407,   408,   409,   410,   411,   412,    -1,   414,   415,
   28504             :      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
   28505             :      426,   427,   428,    -1,   430,    -1,   432,   433,    -1,    -1,
   28506             :      436,   437,   438,   439,   440,   441,   442,   443,    -1,   445,
   28507             :      446,   447,    -1,    -1,   450,   451,    -1,   453,    -1,    -1,
   28508             :      456,   457,   458,   459,   460,   461,   462,   463,   464,    -1,
   28509             :       -1,   467,   468,   469,   470,   471,    -1,    -1,   474,   475,
   28510             :      476,   477,   478,    -1,   480,    -1,   482,   483,   484,   485,
   28511             :      486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,   495,
   28512             :      496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,    -1,
   28513             :       -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,    -1,
   28514             :       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
   28515             :       -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,    -1,
   28516             :       -1,    40,    41,    42,    -1,    44,    45,    46,    47,    48,
   28517             :       49,    50,    51,    -1,    53,    54,    55,    56,    -1,    58,
   28518             :       59,    60,    61,    62,    63,    64,    -1,    -1,    67,    68,
   28519             :       69,    70,    71,    -1,    73,    74,    75,    76,    -1,    -1,
   28520             :       79,    -1,    81,    82,    83,    84,    85,    86,    87,    88,
   28521             :       89,    90,    91,    -1,    93,    94,    95,    96,    97,    98,
   28522             :       -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,    -1,
   28523             :       -1,    -1,   111,   112,   113,   114,   115,   116,   117,   118,
   28524             :      119,    -1,   121,    -1,   123,   124,   125,   126,   127,   128,
   28525             :      129,    -1,   131,   132,   133,   134,    -1,    -1,   137,   138,
   28526             :      139,   140,   141,    -1,   143,   144,   145,   146,    -1,   148,
   28527             :      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
   28528             :      159,   160,   161,   162,    -1,    -1,   165,    -1,   167,   168,
   28529             :      169,   170,   171,    -1,   173,    -1,   175,   176,   177,    -1,
   28530             :      179,   180,   181,   182,   183,    -1,   185,    -1,    -1,    -1,
   28531             :      189,   190,    -1,   192,   193,   194,   195,   196,   197,   198,
   28532             :      199,   200,   201,    -1,   203,   204,   205,   206,   207,   208,
   28533             :      209,   210,    -1,   212,   213,    -1,   215,   216,   217,   218,
   28534             :      219,   220,    -1,   222,    -1,   224,   225,   226,   227,   228,
   28535             :      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28536             :       -1,   240,   241,   242,   243,   244,   245,   246,    -1,    -1,
   28537             :      249,    -1,   251,   252,   253,    -1,   255,   256,   257,    -1,
   28538             :       -1,   260,   261,   262,   263,   264,   265,   266,   267,   268,
   28539             :      269,    -1,   271,   272,   273,   274,   275,   276,   277,   278,
   28540             :      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
   28541             :      289,    -1,    -1,   292,    -1,   294,   295,   296,   297,    -1,
   28542             :       -1,   300,   301,   302,   303,   304,   305,    -1,   307,   308,
   28543             :      309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,   318,
   28544             :       -1,   320,   321,   322,    -1,   324,   325,   326,   327,   328,
   28545             :      329,   330,   331,   332,   333,   334,   335,    -1,   337,   338,
   28546             :      339,    -1,   341,    -1,   343,   344,   345,    -1,   347,   348,
   28547             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   28548             :      359,   360,   361,    -1,   363,   364,   365,   366,   367,   368,
   28549             :      369,   370,   371,   372,   373,   374,   375,    -1,   377,   378,
   28550             :      379,   380,   381,   382,   383,   384,    -1,   386,   387,   388,
   28551             :      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
   28552             :      399,   400,   401,    -1,   403,   404,   405,   406,   407,   408,
   28553             :      409,   410,   411,   412,    -1,   414,   415,   416,   417,   418,
   28554             :      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
   28555             :       -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,   438,
   28556             :      439,   440,   441,   442,   443,    -1,   445,   446,   447,    -1,
   28557             :       -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,   458,
   28558             :      459,   460,   461,   462,   463,   464,    -1,    -1,   467,   468,
   28559             :      469,   470,   471,    -1,    -1,   474,   475,   476,   477,   478,
   28560             :       -1,   480,    -1,   482,   483,   484,   485,   486,   487,   488,
   28561             :       -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,   498,
   28562             :      499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28563             :       -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,    21,
   28564             :       22,    23,    24,    25,    26,    27,    28,    -1,    30,    31,
   28565             :       32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,    41,
   28566             :       42,    -1,    44,    45,    46,    47,    48,    49,    50,    51,
   28567             :       -1,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
   28568             :       62,    63,    64,    -1,    -1,    67,    68,    69,    70,    71,
   28569             :       -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,    81,
   28570             :       82,    83,    84,    85,    86,    87,    88,    89,    90,    91,
   28571             :       -1,    93,    94,    95,    96,    97,    98,    -1,   100,   101,
   28572             :      102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,   111,
   28573             :      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
   28574             :       -1,   123,   124,   125,   126,   127,   128,   129,    -1,   131,
   28575             :      132,   133,   134,    -1,    -1,   137,   138,   139,   140,   141,
   28576             :       -1,   143,   144,   145,   146,    -1,   148,   149,   150,   151,
   28577             :      152,    -1,   154,   155,   156,   157,    -1,   159,   160,   161,
   28578             :      162,    -1,    -1,   165,    -1,   167,   168,   169,   170,   171,
   28579             :       -1,   173,    -1,   175,   176,   177,    -1,   179,   180,   181,
   28580             :      182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,    -1,
   28581             :      192,   193,   194,   195,   196,   197,   198,   199,   200,   201,
   28582             :       -1,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
   28583             :      212,   213,    -1,   215,   216,   217,   218,   219,   220,    -1,
   28584             :      222,    -1,   224,   225,   226,   227,   228,   229,    -1,    -1,
   28585             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,   241,
   28586             :      242,   243,   244,   245,   246,    -1,    -1,   249,    -1,   251,
   28587             :      252,   253,    -1,   255,   256,   257,    -1,    -1,   260,   261,
   28588             :      262,   263,   264,   265,   266,   267,   268,   269,    -1,   271,
   28589             :      272,   273,   274,   275,   276,   277,   278,   279,   280,   281,
   28590             :      282,   283,   284,   285,   286,   287,   288,   289,    -1,    -1,
   28591             :      292,    -1,   294,   295,   296,   297,    -1,    -1,   300,   301,
   28592             :      302,   303,   304,   305,    -1,   307,   308,   309,    -1,    -1,
   28593             :      312,   313,   314,    -1,    -1,   317,   318,    -1,   320,   321,
   28594             :      322,    -1,   324,   325,   326,   327,   328,   329,   330,   331,
   28595             :      332,   333,   334,   335,    -1,   337,   338,   339,    -1,   341,
   28596             :       -1,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
   28597             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28598             :       -1,   363,   364,   365,   366,   367,   368,   369,   370,   371,
   28599             :      372,   373,   374,   375,    -1,   377,   378,   379,   380,   381,
   28600             :      382,   383,   384,    -1,   386,   387,   388,   389,   390,   391,
   28601             :      392,   393,   394,   395,    -1,   397,   398,   399,   400,   401,
   28602             :       -1,   403,   404,   405,   406,   407,   408,   409,   410,   411,
   28603             :      412,    -1,   414,   415,   416,   417,   418,   419,   420,   421,
   28604             :      422,   423,   424,   425,   426,   427,   428,    -1,   430,    -1,
   28605             :      432,   433,    -1,    -1,   436,   437,   438,   439,   440,   441,
   28606             :      442,   443,    -1,   445,   446,   447,    -1,    -1,   450,   451,
   28607             :       -1,   453,    -1,    -1,   456,   457,   458,   459,   460,   461,
   28608             :      462,   463,   464,    -1,    -1,   467,   468,   469,   470,   471,
   28609             :       -1,    -1,   474,   475,   476,   477,   478,    -1,   480,    -1,
   28610             :      482,   483,   484,   485,   486,   487,   488,    -1,    -1,   491,
   28611             :       -1,    -1,   494,   495,   496,   497,   498,   499,     3,    -1,
   28612             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   511,
   28613             :      512,   513,    -1,    -1,    -1,    20,    21,    22,    23,    24,
   28614             :       25,    26,    27,    28,    -1,    30,    31,    32,    -1,    -1,
   28615             :       -1,    -1,    -1,    -1,    -1,    40,    41,    42,    -1,    44,
   28616             :       45,    46,    47,    48,    49,    50,    51,    -1,    53,    54,
   28617             :       55,    56,    -1,    58,    59,    60,    61,    62,    63,    64,
   28618             :       -1,    -1,    67,    68,    69,    70,    71,    -1,    73,    74,
   28619             :       75,    76,    -1,    -1,    79,    -1,    81,    82,    83,    84,
   28620             :       85,    86,    87,    88,    89,    90,    91,    -1,    93,    94,
   28621             :       95,    96,    97,    98,    -1,   100,   101,   102,   103,    -1,
   28622             :       -1,    -1,   107,    -1,    -1,    -1,   111,   112,   113,   114,
   28623             :      115,   116,   117,   118,   119,    -1,   121,    -1,   123,   124,
   28624             :      125,   126,   127,   128,   129,    -1,   131,   132,   133,   134,
   28625             :       -1,    -1,   137,   138,   139,   140,   141,    -1,   143,   144,
   28626             :      145,   146,    -1,   148,   149,   150,   151,   152,    -1,   154,
   28627             :      155,   156,   157,    -1,   159,   160,   161,   162,    -1,    -1,
   28628             :      165,    -1,   167,   168,   169,   170,   171,    -1,   173,    -1,
   28629             :      175,   176,   177,    -1,   179,   180,   181,   182,   183,    -1,
   28630             :      185,    -1,    -1,    -1,   189,   190,    -1,   192,   193,   194,
   28631             :      195,   196,   197,   198,   199,   200,   201,    -1,   203,   204,
   28632             :      205,   206,   207,   208,   209,   210,    -1,   212,   213,    -1,
   28633             :      215,   216,   217,   218,   219,   220,    -1,   222,    -1,   224,
   28634             :      225,   226,   227,   228,   229,    -1,    -1,    -1,    -1,    -1,
   28635             :       -1,    -1,    -1,    -1,    -1,   240,   241,   242,   243,   244,
   28636             :      245,   246,    -1,    -1,   249,    -1,   251,   252,   253,    -1,
   28637             :      255,   256,   257,    -1,    -1,   260,   261,   262,   263,   264,
   28638             :      265,   266,   267,   268,   269,    -1,   271,   272,   273,   274,
   28639             :      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
   28640             :      285,   286,   287,   288,   289,    -1,    -1,   292,    -1,   294,
   28641             :      295,   296,   297,    -1,    -1,   300,   301,   302,   303,   304,
   28642             :      305,    -1,   307,   308,   309,    -1,    -1,   312,   313,   314,
   28643             :       -1,    -1,   317,   318,    -1,   320,   321,   322,    -1,   324,
   28644             :      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
   28645             :      335,    -1,   337,   338,   339,    -1,   341,    -1,   343,   344,
   28646             :      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
   28647             :      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
   28648             :      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
   28649             :      375,    -1,   377,   378,   379,   380,   381,   382,   383,   384,
   28650             :       -1,   386,   387,   388,   389,   390,   391,   392,   393,   394,
   28651             :      395,    -1,   397,   398,   399,   400,   401,    -1,   403,   404,
   28652             :      405,   406,   407,   408,   409,   410,   411,   412,    -1,   414,
   28653             :      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
   28654             :      425,   426,   427,   428,    -1,   430,    -1,   432,   433,    -1,
   28655             :       -1,   436,   437,   438,   439,   440,   441,   442,   443,    -1,
   28656             :      445,   446,   447,    -1,    -1,   450,   451,    -1,   453,    -1,
   28657             :       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
   28658             :       -1,    -1,   467,   468,   469,   470,   471,    -1,    -1,   474,
   28659             :      475,   476,   477,   478,    -1,   480,    -1,   482,   483,   484,
   28660             :      485,   486,   487,   488,    -1,    -1,   491,    -1,    -1,   494,
   28661             :      495,   496,   497,   498,   499,     3,    -1,    -1,    -1,    -1,
   28662             :       -1,    -1,    -1,    -1,    -1,    -1,   511,   512,   513,    -1,
   28663             :       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
   28664             :       28,    -1,    30,    31,    32,    -1,    -1,    -1,    -1,    -1,
   28665             :       -1,    -1,    40,    41,    42,    -1,    44,    45,    46,    47,
   28666             :       48,    49,    50,    51,    -1,    53,    54,    55,    56,    -1,
   28667             :       58,    59,    60,    61,    62,    63,    64,    -1,    -1,    67,
   28668             :       68,    69,    70,    71,    -1,    73,    74,    75,    76,    -1,
   28669             :       -1,    79,    -1,    81,    82,    83,    84,    85,    86,    87,
   28670             :       88,    89,    90,    91,    -1,    93,    94,    95,    96,    97,
   28671             :       98,    -1,   100,   101,   102,   103,    -1,    -1,    -1,   107,
   28672             :       -1,    -1,    -1,   111,   112,   113,   114,   115,   116,   117,
   28673             :      118,   119,    -1,   121,    -1,   123,   124,   125,   126,   127,
   28674             :      128,   129,    -1,   131,   132,   133,   134,    -1,    -1,   137,
   28675             :      138,   139,   140,   141,    -1,   143,   144,   145,   146,    -1,
   28676             :      148,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
   28677             :       -1,   159,   160,   161,   162,    -1,    -1,   165,    -1,   167,
   28678             :      168,   169,   170,   171,    -1,   173,    -1,   175,   176,   177,
   28679             :       -1,   179,   180,   181,   182,   183,    -1,   185,    -1,    -1,
   28680             :       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
   28681             :      198,   199,   200,   201,    -1,   203,   204,   205,   206,   207,
   28682             :      208,   209,   210,    -1,   212,   213,    -1,   215,   216,   217,
   28683             :      218,   219,   220,    -1,   222,    -1,   224,   225,   226,   227,
   28684             :      228,   229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28685             :       -1,    -1,   240,   241,   242,   243,   244,   245,   246,    -1,
   28686             :       -1,   249,    -1,   251,   252,   253,    -1,   255,   256,   257,
   28687             :       -1,    -1,   260,   261,   262,   263,   264,   265,   266,   267,
   28688             :      268,   269,    -1,   271,   272,   273,   274,   275,   276,   277,
   28689             :      278,   279,   280,   281,   282,   283,   284,   285,   286,   287,
   28690             :      288,   289,    -1,    -1,   292,    -1,   294,   295,   296,   297,
   28691             :       -1,    -1,   300,   301,   302,   303,   304,   305,    -1,   307,
   28692             :      308,   309,    -1,    -1,   312,   313,   314,    -1,    -1,   317,
   28693             :      318,    -1,   320,   321,   322,    -1,   324,   325,   326,   327,
   28694             :      328,   329,   330,   331,   332,   333,   334,   335,    -1,   337,
   28695             :      338,   339,    -1,   341,    -1,   343,   344,   345,    -1,   347,
   28696             :      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
   28697             :      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
   28698             :      368,   369,   370,   371,   372,   373,   374,   375,    -1,   377,
   28699             :      378,   379,   380,   381,   382,   383,   384,    -1,   386,   387,
   28700             :      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
   28701             :      398,   399,   400,   401,    -1,   403,   404,    -1,   406,   407,
   28702             :      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
   28703             :      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
   28704             :      428,    -1,   430,    -1,   432,   433,    -1,    -1,   436,   437,
   28705             :      438,   439,   440,   441,   442,   443,    -1,   445,   446,   447,
   28706             :       -1,    -1,   450,   451,    -1,   453,    -1,    -1,   456,   457,
   28707             :      458,   459,   460,   461,   462,   463,   464,    -1,    -1,   467,
   28708             :      468,   469,   470,   471,    -1,    -1,   474,   475,   476,   477,
   28709             :      478,    -1,   480,    -1,   482,   483,   484,   485,   486,   487,
   28710             :      488,    -1,    -1,   491,    -1,    -1,   494,   495,   496,   497,
   28711             :      498,   499,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28712             :       -1,    -1,    -1,   511,   512,   513,    -1,    -1,    -1,    20,
   28713             :       21,    22,    23,    24,    25,    26,    27,    28,    -1,    30,
   28714             :       31,    32,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    40,
   28715             :       41,    42,    -1,    44,    45,    46,    47,    48,    49,    50,
   28716             :       51,    -1,    -1,    54,    -1,    -1,    -1,    58,    59,    60,
   28717             :       61,    62,    63,    64,    -1,    -1,    67,    68,    -1,    -1,
   28718             :       71,    -1,    73,    74,    75,    76,    -1,    -1,    79,    -1,
   28719             :       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
   28720             :       91,    -1,    93,    94,    95,    96,    97,    98,    -1,   100,
   28721             :      101,   102,   103,    -1,    -1,    -1,   107,    -1,    -1,    -1,
   28722             :      111,   112,   113,   114,   115,   116,    -1,    -1,   119,    -1,
   28723             :      121,    -1,   123,   124,   125,   126,   127,   128,   129,    -1,
   28724             :      131,   132,   133,   134,    -1,    -1,   137,   138,   139,   140,
   28725             :      141,    -1,   143,   144,   145,   146,    -1,   148,   149,   150,
   28726             :      151,   152,    -1,   154,   155,   156,   157,    -1,   159,   160,
   28727             :      161,   162,    -1,    -1,   165,    -1,   167,   168,   169,    -1,
   28728             :      171,    -1,   173,    -1,   175,   176,   177,    -1,   179,   180,
   28729             :      181,   182,   183,    -1,   185,    -1,    -1,    -1,   189,   190,
   28730             :       -1,   192,   193,   194,   195,   196,   197,   198,   199,   200,
   28731             :      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
   28732             :       -1,   212,   213,    -1,   215,   216,   217,   218,    -1,    -1,
   28733             :       -1,    -1,    -1,   224,   225,   226,   227,   228,    -1,    -1,
   28734             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   240,
   28735             :      241,   242,   243,   244,   245,   246,    -1,    -1,   249,    -1,
   28736             :      251,   252,   253,    -1,   255,   256,   257,    -1,    -1,   260,
   28737             :      261,   262,   263,   264,   265,   266,   267,   268,   269,    -1,
   28738             :      271,   272,   273,   274,   275,   276,   277,   278,    -1,   280,
   28739             :       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
   28740             :       -1,   292,    -1,   294,   295,   296,   297,    -1,    -1,   300,
   28741             :       -1,   302,   303,   304,   305,    -1,   307,   308,   309,    -1,
   28742             :       -1,   312,   313,   314,    -1,    -1,   317,   318,    -1,   320,
   28743             :      321,   322,    -1,   324,   325,   326,   327,   328,   329,   330,
   28744             :      331,   332,   333,   334,   335,    -1,   337,   338,   339,    -1,
   28745             :      341,    -1,   343,   344,   345,    -1,   347,   348,   349,   350,
   28746             :      351,   352,   353,   354,   355,   356,   357,    -1,   359,   360,
   28747             :      361,    -1,   363,   364,   365,   366,   367,   368,   369,   370,
   28748             :      371,   372,   373,   374,   375,    -1,   377,   378,   379,   380,
   28749             :      381,   382,   383,   384,    -1,   386,   387,   388,   389,   390,
   28750             :      391,   392,   393,   394,   395,    -1,   397,   398,   399,   400,
   28751             :      401,    -1,   403,   404,    -1,   406,   407,   408,   409,   410,
   28752             :       -1,   412,    -1,   414,   415,   416,   417,   418,   419,   420,
   28753             :      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
   28754             :       -1,   432,   433,    -1,    -1,   436,   437,   438,   439,   440,
   28755             :      441,   442,   443,    -1,   445,    -1,    -1,    -1,    -1,   450,
   28756             :      451,    -1,   453,    -1,    -1,   456,   457,   458,   459,   460,
   28757             :      461,   462,   463,   464,    -1,    -1,   467,   468,   469,   470,
   28758             :      471,    -1,    -1,   474,   475,   476,   477,   478,    -1,    -1,
   28759             :       -1,   482,   483,   484,   485,   486,   487,   488,    -1,    -1,
   28760             :      491,    -1,    -1,   494,   495,   496,   497,   498,   499,    -1,
   28761             :       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
   28762             :      511,   512,   513
   28763             : };
   28764             : 
   28765             : /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of
   28766             :    state STATE-NUM.  */
   28767             : static const yytype_int16 yystos[] =
   28768             : {
   28769             :        0,    20,    31,    33,    34,    51,    61,    73,    75,    76,
   28770             :       82,    84,    97,    99,   116,   119,   134,   136,   140,   147,
   28771             :      157,   159,   166,   184,   201,   255,   256,   261,   276,   295,
   28772             :      344,   359,   364,   365,   367,   372,   378,   381,   388,   395,
   28773             :      396,   403,   407,   418,   435,   456,   468,   474,   479,   493,
   28774             :      517,   519,   520,   521,   522,   523,   536,   543,   544,   545,
   28775             :      546,   551,   552,   558,   559,   561,   562,   563,   564,   566,
   28776             :      569,   581,   586,   587,   590,   591,   592,   612,   615,   616,
   28777             :      631,   686,   689,   690,   693,   696,   697,   698,   706,   713,
   28778             :      715,   716,   719,   722,   723,   727,   736,   740,   741,   742,
   28779             :      745,   747,   748,   749,   750,   758,   760,   780,   784,   786,
   28780             :      787,   797,   799,   805,   806,   809,   810,   811,   812,   813,
   28781             :      822,   824,   826,   829,   833,   834,   844,   845,   850,   855,
   28782             :      866,   898,   901,   902,   903,   908,   911,   913,   915,   917,
   28783             :      918,   922,   923,   926,   928,   929,   933,   934,   935,   938,
   28784             :      939,   940,   941,   942,   949,   951,   952,   953,   954,   960,
   28785             :      962,   963,   969,   970,   971,   974,   975,   976,   977,   979,
   28786             :      980,   982,   983,   985,   986,   988,  1000,  1002,  1005,  1007,
   28787             :     1008,  1021,  1023,  1028,  1033,  1043,  1047,  1048,  1049,  1050,
   28788             :     1051,  1052,  1058,  1094,   450,   496,   955,    28,    79,    96,
   28789             :      114,   120,   138,   152,   161,   174,   180,   187,   207,   245,
   28790             :      267,   312,   339,   349,   350,   353,   380,   383,   387,   390,
   28791             :      397,   400,   420,   428,   433,   435,   438,   443,   453,   458,
   28792             :      472,   485,   712,   955,     3,    20,    21,    22,    23,    24,
   28793             :       25,    26,    27,    28,    30,    31,    32,    40,    41,    42,
   28794             :       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
   28795             :       54,    55,    56,    58,    59,    60,    61,    62,    63,    64,
   28796             :       67,    68,    69,    70,    71,    73,    74,    75,    76,    77,
   28797             :       79,    81,    82,    83,    84,    85,    86,    87,    88,    89,
   28798             :       90,    91,    93,    94,    95,    96,    97,    98,   100,   101,
   28799             :      102,   103,   107,   111,   112,   113,   114,   115,   116,   117,
   28800             :      118,   119,   121,   123,   124,   125,   126,   127,   128,   129,
   28801             :      131,   132,   133,   134,   137,   138,   139,   140,   141,   143,
   28802             :      144,   145,   146,   148,   149,   150,   151,   152,   154,   155,
   28803             :      156,   157,   158,   159,   160,   161,   162,   163,   165,   167,
   28804             :      168,   169,   170,   171,   173,   175,   176,   177,   179,   180,
   28805             :      181,   182,   183,   185,   186,   188,   189,   190,   192,   193,
   28806             :      194,   195,   196,   197,   198,   199,   200,   201,   203,   204,
   28807             :      205,   206,   207,   208,   209,   210,   212,   213,   214,   215,
   28808             :      216,   217,   218,   219,   220,   222,   224,   225,   226,   227,
   28809             :      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
   28810             :      238,   239,   240,   241,   242,   243,   244,   245,   246,   249,
   28811             :      250,   251,   252,   253,   255,   256,   257,   260,   261,   262,
   28812             :      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
   28813             :      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
   28814             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   28815             :      294,   295,   296,   297,   299,   300,   301,   302,   303,   304,
   28816             :      305,   307,   308,   309,   312,   313,   314,   317,   318,   319,
   28817             :      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
   28818             :      330,   331,   332,   333,   334,   335,   337,   338,   339,   340,
   28819             :      341,   342,   343,   344,   345,   347,   348,   349,   350,   351,
   28820             :      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
   28821             :      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
   28822             :      373,   374,   375,   377,   378,   379,   380,   381,   382,   383,
   28823             :      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
   28824             :      394,   395,   397,   398,   399,   400,   401,   403,   404,   405,
   28825             :      406,   407,   408,   409,   410,   411,   412,   414,   415,   416,
   28826             :      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
   28827             :      427,   428,   429,   430,   432,   433,   436,   437,   438,   439,
   28828             :      440,   441,   442,   443,   445,   446,   447,   450,   451,   452,
   28829             :      453,   454,   456,   457,   458,   459,   460,   461,   462,   463,
   28830             :      464,   467,   468,   469,   470,   471,   474,   475,   476,   477,
   28831             :      478,   479,   480,   482,   483,   484,   485,   486,   487,   488,
   28832             :      491,   494,   495,   496,   497,   498,   499,   500,   501,   502,
   28833             :      503,   504,   505,   506,   507,   508,   509,   510,   511,   512,
   28834             :      513,  1162,  1255,  1267,  1268,  1272,  1273,  1274,     3,    29,
   28835             :     1044,  1252,  1267,  1272,   483,   536,   993,   310,   345,   955,
   28836             :       54,   536,   623,    23,    41,    66,    79,   114,   120,   138,
   28837             :      152,   161,   174,   183,   187,   257,   312,   315,   339,   353,
   28838             :      380,   390,   400,   420,   428,   438,   440,   442,   443,   458,
   28839             :      466,   469,   472,   632,   695,   802,   856,   867,    29,   344,
   28840             :     1252,  1044,    29,   338,   398,   440,   442,     6,   244,   909,
   28841             :      910,  1258,    23,    28,    66,    79,    96,   114,   138,   152,
   28842             :      161,   174,   180,   187,   207,   267,   312,   325,   339,   350,
   28843             :      353,   380,   383,   387,   390,   397,   400,   420,   428,   435,
   28844             :      438,   443,   451,   453,   458,   472,   485,   712,   814,   816,
   28845             :      817,   955,  1252,    99,   483,   536,   690,   693,   696,   988,
   28846             :     1001,  1005,  1008,  1021,  1028,  1033,  1043,  1047,    11,    22,
   28847             :       29,    49,   169,   176,   178,   202,   246,   284,   347,   366,
   28848             :      527,   528,   830,   831,  1044,  1257,  1259,    29,    31,    99,
   28849             :      362,   396,   835,   836,   837,  1267,   174,  1267,  1254,  1258,
   28850             :      435,  1061,   830,  1267,   450,  1252,   325,   267,   536,   921,
   28851             :      388,  1267,    29,   401,   446,   450,   573,   582,   583,  1267,
   28852             :      184,   835,   836,  1267,   345,   955,  1267,   243,    29,   135,
   28853             :     1063,  1064,    67,    93,   257,   278,   380,   390,   401,   446,
   28854             :      450,   499,   570,   571,   572,   573,    29,   401,   446,   450,
   28855             :      573,   450,   311,  1106,  1107,  1250,  1267,  1061,   529,  1267,
   28856             :      179,   536,   994,   536,   360,  1053,  1054,  1252,  1053,     3,
   28857             :       53,    55,    56,    69,    70,   117,   118,   139,   170,   219,
   28858             :      220,   222,   229,   279,   281,   301,   358,   405,   411,   446,
   28859             :      447,   480,  1135,  1137,  1139,  1141,  1143,  1145,  1146,  1147,
   28860             :     1149,  1150,  1151,  1153,  1154,  1158,  1268,  1272,  1063,  1064,
   28861             :     1065,  1263,    12,  1264,  1265,  1267,  1264,  1264,  1048,  1049,
   28862             :     1052,     0,   539,   536,   993,   153,   221,   316,   465,  1066,
   28863             :     1067,  1048,  1050,  1051,   125,   217,   269,   471,   540,    35,
   28864             :      959,   883,  1255,   819,  1267,   819,  1252,   348,   819,   453,
   28865             :     1252,   113,   435,   871,  1255,  1267,  1274,     3,   106,   110,
   28866             :      402,  1260,  1261,  1269,  1272,  1273,  1274,    29,   196,  1250,
   28867             :      302,   485,    10,    17,    18,    19,    74,   165,   524,   525,
   28868             :      526,   527,   528,   529,   530,   531,   532,   905,   907,  1193,
   28869             :     1194,  1267,   196,  1252,   871,  1252,    29,  1260,  1261,   871,
   28870             :     1252,  1252,   196,  1250,  1252,   196,   819,  1252,   372,   403,
   28871             :       29,   196,  1106,  1252,   393,  1252,   819,    29,   264,  1260,
   28872             :     1261,   196,  1250,   244,   122,   227,   293,   357,   956,   957,
   28873             :      958,   536,   534,   538,  1219,  1221,   514,   987,   988,   989,
   28874             :      990,  1269,  1250,  1252,  1267,    28,    66,    80,    92,   114,
   28875             :      138,   180,   207,   245,   312,   350,   380,   383,   428,   438,
   28876             :      451,   458,   814,   815,   816,   817,  1258,   959,  1004,  1008,
   28877             :     1021,  1028,  1033,  1047,  1250,   271,   819,   536,   196,   819,
   28878             :     1252,   819,   453,   196,  1252,   113,   435,   440,   442,  1260,
   28879             :     1261,   440,   442,    74,   165,   905,   370,  1252,  1252,  1260,
   28880             :      196,   547,  1267,   196,  1252,   196,   548,   819,  1252,  1252,
   28881             :      393,   819,   264,  1260,   360,   397,   435,   485,   267,    96,
   28882             :      207,    28,    92,   180,   350,   387,   451,   453,   457,   707,
   28883             :       29,  1252,  1045,   580,  1258,  1269,   910,   271,   196,   883,
   28884             :      884,   196,   914,   196,  1252,   196,   821,  1135,   453,   113,
   28885             :      435,   196,   870,   871,   196,  1261,  1262,    87,   485,    74,
   28886             :      165,   196,   906,   907,    59,   196,   870,   196,  1262,   196,
   28887             :      870,   196,  1252,   196,  1252,   393,   914,   196,   821,   196,
   28888             :      264,  1262,   244,   196,   818,   819,   196,  1251,  1252,   196,
   28889             :     1252,   959,   536,  1006,   632,  1001,   479,   987,   993,  1259,
   28890             :      831,   832,    29,   832,  1259,   832,    29,   832,  1259,   832,
   28891             :      832,   832,  1259,  1257,  1257,  1044,   832,   348,   536,   433,
   28892             :      536,   661,   661,   661,   310,   448,   540,   661,   390,  1106,
   28893             :     1108,   540,   950,  1258,   536,  1003,    59,   485,   987,   114,
   28894             :      207,   390,   433,   435,   919,   920,  1267,    48,   513,   227,
   28895             :      538,   313,   310,   178,   313,  1258,   448,   959,   172,   827,
   28896             :      310,     5,     8,     9,    10,    12,    37,    53,    55,    56,
   28897             :       65,    66,    69,    70,    77,    79,   104,   105,   106,   107,
   28898             :      108,   109,   110,   117,   118,   120,   158,   163,   164,   170,
   28899             :      186,   188,   219,   220,   222,   229,   230,   231,   232,   233,
   28900             :      234,   235,   236,   237,   239,   250,   258,   259,   270,   279,
   28901             :      281,   291,   293,   298,   299,   301,   312,   323,   340,   358,
   28902             :      385,   402,   411,   429,   434,   446,   447,   452,   454,   455,
   28903             :      466,   472,   480,   501,   502,   503,   504,   506,   507,   508,
   28904             :      509,   515,   527,   528,   529,   536,  1048,  1138,  1141,  1144,
   28905             :     1145,  1146,  1148,  1149,  1150,  1153,  1154,  1158,  1159,  1161,
   28906             :     1162,  1163,  1165,  1189,  1190,  1191,  1195,  1213,  1218,  1244,
   28907             :     1247,  1248,  1255,  1256,  1257,  1258,  1267,  1246,  1247,  1258,
   28908             :       29,   588,  1249,  1250,   401,   570,   120,   579,  1258,   580,
   28909             :     1258,    48,    71,   570,   513,   412,   957,   313,   178,   448,
   28910             :      526,    48,   513,   227,   958,   536,  1250,   529,  1221,  1108,
   28911             :      987,   177,   995,  1159,  1198,  1053,   540,   536,   996,   482,
   28912             :     1152,  1152,  1152,   536,  1140,  1140,   342,   536,  1142,    69,
   28913             :       70,  1152,  1140,  1137,   517,   518,   536,  1155,   536,  1155,
   28914             :       37,  1136,   536,   115,   194,   272,   275,   394,   511,   536,
   28915             :     1156,  1157,   538,   820,  1140,  1246,  1222,   537,   537,   545,
   28916             :      987,   997,   998,   999,  1106,    29,   135,  1062,  1062,    59,
   28917             :     1062,   166,   172,   254,   306,  1070,  1072,  1073,  1088,  1090,
   28918             :     1091,  1092,  1066,  1067,   178,   223,   223,  1106,  1109,   536,
   28919             :       68,   289,   326,   368,   403,   536,   881,   326,   364,   368,
   28920             :      403,   820,   326,   368,   403,     3,    91,   145,   260,   326,
   28921             :      364,   368,   403,   438,   441,   493,   581,   584,   964,   965,
   28922             :      966,   967,   851,    25,   140,   326,   368,   403,   476,   597,
   28923             :     1252,    25,   140,   403,   471,   565,   497,   196,  1106,    62,
   28924             :       98,   162,   199,   249,   289,   293,   326,   327,   368,   377,
   28925             :      386,   395,   403,   416,   425,   430,   488,   581,   585,   887,
   28926             :      899,   927,   536,   868,  1221,   368,   565,   202,   158,    25,
   28927             :       31,    46,    76,   133,   140,   144,   173,   209,   289,   293,
   28928             :      304,   314,   326,   368,   371,   372,   403,   476,   593,   595,
   28929             :      596,   730,   927,     5,   527,   528,   704,  1259,    29,   196,
   28930             :     1250,   819,   819,   536,   904,   326,   403,   538,   158,   310,
   28931             :      326,   368,   403,   899,   927,    25,   140,   326,   368,   403,
   28932             :      202,   560,   368,   493,   517,   553,   560,   326,   368,   403,
   28933             :      899,   927,   310,   326,   368,   158,    38,    60,   112,   205,
   28934             :      263,   268,   273,   289,   325,   368,   373,   397,   403,   418,
   28935             :      469,   593,   701,   702,   326,   368,   484,   730,   738,   158,
   28936             :      326,   368,   403,    25,    91,   133,   140,   144,   326,   364,
   28937             :      368,   403,   410,   583,   571,   573,   202,   158,    46,   131,
   28938             :      289,   368,   403,   593,   594,   326,   368,   372,   403,    89,
   28939             :      132,   329,   441,   310,    25,    31,   140,   326,   368,   403,
   28940             :      613,   614,   560,   172,   368,   553,   560,   158,   368,   403,
   28941             :      593,  1252,   252,   122,   311,   498,   540,   956,    29,   135,
   28942             :      481,   529,   537,   876,  1159,  1199,  1200,  1268,  1159,  1220,
   28943             :        3,    29,    33,    34,    35,    36,    37,    38,    39,    43,
   28944             :       57,    65,    66,    72,    78,    80,    92,    99,   104,   105,
   28945             :      106,   108,   109,   110,   120,   122,   130,   135,   136,   142,
   28946             :      147,   153,   164,   166,   172,   174,   178,   184,   187,   191,
   28947             :      202,   211,   221,   223,   247,   248,   254,   258,   259,   293,
   28948             :      298,   306,   310,   311,   315,   316,   336,   346,   362,   376,
   28949             :      396,   402,   413,   431,   434,   435,   444,   448,   449,   455,
   28950             :      465,   466,   472,   473,   481,   489,   490,   492,   493,   529,
   28951             :     1253,  1270,  1272,  1273,  1274,  1275,  1219,   537,   540,   164,
   28952             :      310,   455,   577,   580,   704,   991,   473,   984,   310,   883,
   28953             :      536,   819,  1252,  1135,   871,   302,    74,   165,   907,   871,
   28954             :      871,   172,  1135,   819,  1252,  1252,   537,   661,  1252,    72,
   28955             :     1135,   293,   178,   536,   788,   553,    38,   978,  1252,   293,
   28956             :      553,   497,   196,  1250,   553,   819,   819,   788,   469,   632,
   28957             :      310,   172,   493,   895,   553,   293,    48,   567,   293,   458,
   28958             :      737,   293,   996,    91,   326,   714,    89,   132,   329,   441,
   28959             :       38,   788,   172,   196,   553,   485,   196,  1250,   196,   691,
   28960             :     1250,  1250,   485,   819,    87,   549,  1255,   453,  1255,  1255,
   28961             :     1252,   172,  1252,   712,    40,    54,   111,   216,   289,   392,
   28962             :      158,    63,   374,   540,   550,   158,   536,   158,   553,   158,
   28963             :      540,   550,   497,   158,   540,   550,   158,   540,   196,   818,
   28964             :      196,   819,   196,   819,   158,   540,   550,  1262,   158,   550,
   28965             :      158,   158,   550,   158,   550,   158,    89,   132,   329,   441,
   28966             :      172,   158,   550,   158,   172,   196,   158,   540,   550,   158,
   28967             :      540,   550,   158,   310,  1198,   435,   537,  1001,   832,  1044,
   28968             :      832,  1044,   832,  1044,   832,  1044,   832,  1044,  1044,  1044,
   28969             :      832,  1044,   536,   662,   665,  1267,   662,    29,   114,   138,
   28970             :      174,   180,   244,   245,   328,   350,   383,   390,   397,   435,
   28971             :      438,   458,   840,  1249,  1262,   837,  1252,   202,   540,  1024,
   28972             :     1258,  1135,  1202,    38,  1262,   549,   537,   549,   549,   549,
   28973             :      252,  1267,   172,   840,  1262,   172,   388,  1267,   580,   310,
   28974             :      536,  1222,   534,  1048,  1203,  1159,  1217,   536,   536,   172,
   28975             :      536,   536,  1048,   536,   536,   536,   536,   536,   536,   536,
   28976             :      536,   536,   536,   536,   536,   536,   536,   536,   536,   536,
   28977             :      536,  1159,   536,   536,   536,   536,   536,   536,   536,   536,
   28978             :      300,   648,   536,   536,   536,   536,   536,   536,   536,   536,
   28979             :     1159,  1159,  1159,  1048,  1159,  1198,  1221,  1258,   536,  1258,
   28980             :        3,    10,    13,    17,    18,    19,    20,    21,    22,    23,
   28981             :       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
   28982             :       34,    35,    36,    38,    39,    40,    41,    42,    43,    44,
   28983             :       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
   28984             :       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
   28985             :       65,    66,    67,    68,    71,    72,    73,    74,    75,    76,
   28986             :       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
   28987             :       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
   28988             :       97,    98,   100,   101,   102,   103,   104,   105,   106,   107,
   28989             :      108,   109,   110,   111,   112,   113,   114,   116,   117,   118,
   28990             :      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
   28991             :      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
   28992             :      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
   28993             :      149,   150,   151,   152,   154,   155,   156,   157,   158,   159,
   28994             :      160,   161,   162,   163,   164,   165,   168,   169,   170,   171,
   28995             :      173,   174,   175,   176,   177,   179,   180,   181,   182,   183,
   28996             :      185,   186,   188,   189,   190,   192,   193,   195,   196,   197,
   28997             :      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
   28998             :      208,   209,   210,   211,   212,   213,   214,   215,   216,   217,
   28999             :      218,   219,   220,   222,   224,   225,   226,   227,   228,   229,
   29000             :      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
   29001             :      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
   29002             :      250,   251,   252,   253,   255,   256,   257,   258,   259,   260,
   29003             :      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
   29004             :      271,   273,   274,   276,   277,   278,   279,   280,   281,   282,
   29005             :      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
   29006             :      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
   29007             :      303,   304,   305,   307,   308,   309,   311,   312,   313,   314,
   29008             :      315,   317,   318,   319,   320,   323,   324,   325,   326,   327,
   29009             :      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
   29010             :      338,   339,   340,   341,   343,   344,   345,   346,   347,   348,
   29011             :      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
   29012             :      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
   29013             :      369,   370,   371,   372,   373,   374,   375,   377,   378,   379,
   29014             :      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
   29015             :      390,   391,   392,   393,   395,   396,   397,   398,   399,   400,
   29016             :      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
   29017             :      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
   29018             :      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
   29019             :      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
   29020             :      441,   442,   443,   444,   445,   446,   447,   449,   450,   451,
   29021             :      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
   29022             :      462,   463,   464,   466,   467,   468,   469,   470,   471,   472,
   29023             :      473,   474,   475,   476,   477,   478,   479,   480,   481,   483,
   29024             :      484,   485,   486,   487,   488,   489,   491,   496,   497,   498,
   29025             :      499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
   29026             :      509,   510,   512,   513,   515,   524,   525,   526,   527,   528,
   29027             :      529,   530,   531,   532,  1193,  1195,  1197,  1271,  1276,   494,
   29028             :     1176,   322,  1159,   167,  1177,   223,   540,  1059,   536,  1258,
   29029             :     1221,  1059,   123,   198,   589,   540,    71,   120,   580,    38,
   29030             :        3,   120,   257,   578,   704,  1154,  1258,  1258,    94,   137,
   29031             :     1171,   103,   120,   574,   575,   577,   704,   120,   574,   252,
   29032             :     1250,    95,   373,   823,   537,   993,    35,    45,    52,    78,
   29033             :      197,   202,   225,   253,   312,   315,   408,   537,   540,  1054,
   29034             :     1251,    38,   536,  1198,  1257,  1152,  1152,    37,  1136,   446,
   29035             :      446,  1257,  1257,   534,   534,  1257,   448,   448,   448,   536,
   29036             :      448,  1257,  1253,   538,  1140,   178,  1095,    15,   526,  1219,
   29037             :     1266,   537,   540,   996,  1050,  1050,  1068,  1069,  1159,  1050,
   29038             :      169,   284,  1079,   241,   289,   357,   406,   471,    29,  1074,
   29039             :     1159,   527,   528,  1075,  1076,  1159,  1161,  1088,  1089,  1073,
   29040             :     1072,  1070,  1071,   172,  1091,   304,  1093,  1070,  1088,  1109,
   29041             :     1009,  1250,  1109,    38,  1267,   403,  1198,    68,   448,   448,
   29042             :      390,   202,   214,   316,   319,   405,   481,   529,   874,   875,
   29043             :      876,   878,   880,   882,  1135,  1268,   448,   484,   448,   390,
   29044             :      448,   448,   390,   254,   448,    79,   448,   438,   570,   326,
   29045             :      964,   966,   526,   968,   172,   184,   202,   378,   852,   853,
   29046             :       72,    92,   293,   657,   658,    92,   120,   293,   448,    92,
   29047             :      448,   120,   293,   390,    92,   133,   144,   326,   368,   785,
   29048             :      390,   720,    28,    66,   138,   180,   312,   350,   383,   451,
   29049             :      458,   814,   815,  1252,   158,   368,   403,   593,   310,   704,
   29050             :      395,   249,   448,  1267,   448,   298,   704,   124,   224,   390,
   29051             :      401,   450,   572,   819,   374,   403,   887,   900,   128,   537,
   29052             :      869,   874,   448,   472,   438,  1250,    72,    80,    92,   154,
   29053             :      174,   196,   293,   346,   466,   639,   655,   656,  1267,    80,
   29054             :       92,   924,   331,   310,   385,   387,   453,    92,   924,    32,
   29055             :      371,   385,   387,   453,   385,  1250,   173,   209,   304,   819,
   29056             :      536,   448,   448,   195,   536,   601,    23,   263,   438,   469,
   29057             :      495,   601,    92,   540,   128,     5,     5,   326,   202,   158,
   29058             :      368,   403,   593,   927,   473,   473,   290,  1135,   448,   390,
   29059             :      536,   905,  1252,  1250,   448,   448,   390,   900,   128,   107,
   29060             :      435,   436,   936,   937,  1107,  1250,  1267,   937,   448,   448,
   29061             :      788,   937,   114,   403,   584,   448,   555,   584,   448,   448,
   29062             :      390,   900,   128,  1250,   448,   448,  1250,  1137,   704,    59,
   29063             :      703,   704,   704,   112,   268,   273,    59,   448,   553,   277,
   29064             :      390,   553,   289,   702,   448,   448,   298,  1258,   730,   819,
   29065             :      448,   448,   390,   420,   353,  1258,   353,   448,   353,   448,
   29066             :      353,   788,   788,   438,  1106,   331,   331,    92,   448,   924,
   29067             :      390,   448,   448,   601,   601,   819,   819,   819,   819,  1250,
   29068             :       47,   478,    47,    47,   478,   448,    47,   448,   478,   390,
   29069             :      536,   540,   584,   472,   746,  1261,   448,   555,   584,  1250,
   29070             :      448,   924,   390,   326,   368,   357,   369,   399,   576,   956,
   29071             :     1199,  1199,  1200,   537,    15,    16,   540,  1066,  1067,   535,
   29072             :      541,  1250,   989,  1252,  1250,   225,  1135,   225,   310,   225,
   29073             :      225,   704,   819,   819,   225,   225,   225,  1135,   225,   225,
   29074             :      225,   310,   448,   178,   448,   617,   458,   536,    38,   158,
   29075             :      819,   789,   790,  1270,   964,  1135,   310,   158,   717,  1252,
   29076             :      293,   331,   536,   554,   802,   473,   360,   485,  1250,    29,
   29077             :      937,   788,   554,   158,  1261,    99,   184,   568,   631,   697,
   29078             :      760,   833,   855,   960,   158,  1258,   738,   739,   158,   310,
   29079             :     1258,  1261,   260,   819,   819,   819,   819,   149,   356,   536,
   29080             :      746,   293,   554,  1250,   293,   699,   701,   293,    38,   304,
   29081             :      331,   536,   661,   661,   196,   694,  1250,   172,   196,   547,
   29082             :     1267,   536,   792,   881,  1252,   536,   872,   872,    38,  1135,
   29083             :       27,    50,   218,   761,   244,   493,   495,  1046,   392,   884,
   29084             :      883,  1135,  1252,   536,   821,  1135,   870,   871,  1262,  1261,
   29085             :      158,   550,   158,   473,   158,   473,   906,   907,   550,   870,
   29086             :     1262,   870,  1252,  1252,  1135,   821,  1262,   746,   158,   818,
   29087             :      819,  1251,  1252,  1252,   819,   537,   196,  1250,  1001,  1044,
   29088             :     1044,  1044,  1044,  1044,  1044,   662,   537,   540,   537,   181,
   29089             :      351,   384,   398,   436,  1251,   818,   113,   400,   870,  1251,
   29090             :      302,   838,   839,  1267,   870,   870,  1251,  1249,  1249,  1251,
   29091             :      818,   448,   185,   493,   849,   153,   254,   743,   744,    23,
   29092             :      156,   385,   406,  1025,  1106,   297,  1026,   537,   540,  1004,
   29093             :      448,  1250,  1252,  1250,   547,   835,   836,   178,   849,   836,
   29094             :     1267,    28,    80,   138,   180,   245,   350,   383,   458,   814,
   29095             :      815,  1198,   535,  1198,  1203,  1204,   489,  1214,  1215,  1159,
   29096             :     1198,   536,  1257,  1257,     3,   115,   194,   272,   275,   394,
   29097             :      511,  1205,  1206,  1258,  1198,  1198,  1159,  1232,   376,  1048,
   29098             :     1049,  1232,  1236,  1243,  1232,  1232,  1159,  1161,  1199,  1236,
   29099             :     1239,  1240,  1159,  1240,  1232,  1159,  1232,  1232,  1198,  1257,
   29100             :     1257,   537,  1159,  1159,   905,  1159,  1199,  1201,  1208,   385,
   29101             :      527,   528,   536,  1160,  1161,  1195,  1209,   537,  1198,  1159,
   29102             :     1201,  1210,  1159,    57,   178,   248,   449,  1159,  1198,  1211,
   29103             :      135,   293,  1048,  1198,   277,  1161,  1159,  1169,  1170,  1171,
   29104             :      277,  1159,  1171,   537,   540,  1257,  1156,  1135,  1159,  1159,
   29105             :     1159,  1159,  1270,   257,   446,    43,   431,  1223,   819,  1159,
   29106             :      536,  1048,  1212,   135,   137,   164,   229,   285,   286,   287,
   29107             :      288,   292,   293,   298,   455,   467,  1207,  1237,  1159,   536,
   29108             :     1159,   448,    52,   197,   202,   253,   408,  1159,  1159,  1159,
   29109             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,    29,    36,   413,
   29110             :     1192,   187,  1177,   385,   536,  1189,   536,   321,  1181,   183,
   29111             :      257,   435,   440,   442,   469,  1060,  1250,  1248,  1095,  1199,
   29112             :     1095,  1250,   450,   536,  1258,   540,   537,   195,   195,   550,
   29113             :      999,   988,   992,  1159,   537,   267,   293,  1055,  1198,   537,
   29114             :      537,   534,   513,   513,   537,   537,  1257,   535,  1257,   537,
   29115             :      194,   272,  1157,   272,  1157,  1157,  1257,   275,   537,  1253,
   29116             :      229,   238,   247,   386,   510,   536,  1048,  1096,  1097,  1098,
   29117             :     1106,  1112,  1122,  1129,  1162,  1164,  1165,  1244,  1267,   490,
   29118             :     1117,  1263,   999,   997,   540,    39,   130,   473,   864,   385,
   29119             :      386,   527,   528,  1076,  1078,  1161,   406,   241,   311,   540,
   29120             :        5,  1077,  1257,  1077,   385,   386,  1078,  1249,   297,   410,
   29121             :     1027,  1089,  1071,   473,  1022,   120,   324,   536,  1010,  1047,
   29122             :       38,   473,  1267,   536,  1029,  1030,  1031,  1267,   537,  1261,
   29123             :     1252,  1252,   319,    59,  1268,   537,   876,   878,   875,   878,
   29124             :     1268,   316,   537,   540,   820,  1261,  1252,  1252,  1261,  1252,
   29125             :     1252,  1261,   484,  1252,  1252,   120,   577,   704,   380,   472,
   29126             :      835,   390,   184,   835,   536,  1252,   298,   196,  1252,   298,
   29127             :     1261,  1252,  1252,  1159,   298,  1252,  1252,    32,   371,   448,
   29128             :      448,  1252,   448,   721,   883,   536,  1135,   871,    74,   165,
   29129             :      907,   871,   871,   172,  1135,   819,  1252,   190,   289,   326,
   29130             :      368,   477,   724,   725,   726,  1106,   448,   924,   390,   298,
   29131             :      124,   224,  1261,  1252,   310,  1252,   310,   537,   540,  1260,
   29132             :     1262,  1252,   368,   593,   536,   196,   639,  1252,   473,   857,
   29133             :      241,   293,   298,   241,   473,   648,   685,  1135,  1252,  1257,
   29134             :     1267,  1250,  1252,   252,  1252,    29,   472,  1252,   196,  1252,
   29135             :      196,  1267,   387,   453,   387,   453,   252,  1252,    29,   472,
   29136             :     1252,   252,   385,  1250,    25,   140,   403,   731,   732,   733,
   29137             :      734,  1270,  1261,  1252,   120,   179,   294,   473,   600,   603,
   29138             :      604,  1270,   271,  1252,    76,   307,  1252,   596,   310,   448,
   29139             :      438,  1250,   448,   924,   390,   128,  1252,  1252,   540,   537,
   29140             :      540,  1261,  1252,   930,   931,  1270,   310,   368,   448,   754,
   29141             :     1261,  1252,  1252,   310,  1106,   202,   540,   661,   661,  1221,
   29142             :     1261,  1252,  1252,  1260,     3,    91,   146,   209,   333,   464,
   29143             :      472,   475,   556,  1261,  1252,  1252,   310,   368,  1261,  1252,
   29144             :      368,   403,   593,   701,   704,   819,  1252,   704,   819,  1252,
   29145             :      704,  1261,  1252,   403,  1261,  1252,  1252,   120,   607,  1259,
   29146             :     1251,  1251,  1261,   895,  1252,  1251,  1252,   368,   403,   593,
   29147             :      594,  1250,  1250,  1252,  1252,  1252,  1252,  1261,  1252,    25,
   29148             :       31,   140,   326,   368,   403,   326,   368,   403,   788,   368,
   29149             :      403,   368,   403,   368,   927,  1121,  1267,   196,   798,  1267,
   29150             :      196,  1267,  1258,  1261,  1252,  1252,  1258,  1252,   930,    25,
   29151             :      140,   614,   400,  1260,   368,   403,   593,  1252,  1252,  1252,
   29152             :      448,   448,    85,   463,   357,   540,  1066,  1066,  1066,  1159,
   29153             :     1159,   481,  1200,   537,  1159,  1220,   984,   298,   825,  1258,
   29154             :       38,   825,   138,   819,   825,   825,   225,   473,   473,   825,
   29155             :      825,   825,   244,   825,   825,   825,   819,   352,   618,   618,
   29156             :      207,   435,   759,  1159,  1135,   819,   537,   540,   526,   645,
   29157             :     1270,  1252,    63,   178,   390,   484,   718,   725,   726,   158,
   29158             :      304,   253,   633,   635,   637,   639,   652,   655,    26,   202,
   29159             :      380,   432,   556,   557,   172,  1252,   485,  1250,    38,   755,
   29160             :      436,   895,   547,  1267,   567,   632,   867,  1252,   174,   819,
   29161             :      536,   687,   688,  1164,  1267,   353,  1258,   788,   788,   788,
   29162             :      788,   536,   788,  1119,  1120,  1121,   400,   158,   536,   158,
   29163             :      158,   157,  1047,   819,   304,   633,  1267,   473,   680,   493,
   29164             :      602,   293,    38,   661,  1258,   293,   310,     3,   793,   794,
   29165             :      788,    27,   537,   873,   874,   879,    38,   244,   377,   451,
   29166             :      492,   885,   886,   887,   888,   885,   310,   244,   304,   125,
   29167             :      217,   456,   471,   762,   763,  1252,   193,   193,   172,   550,
   29168             :       38,   553,   173,   972,   973,   550,   550,   818,   819,  1252,
   29169             :      819,  1252,   550,   550,   550,   550,   244,   550,   400,   172,
   29170             :      550,   550,   310,   550,   293,   537,   665,   202,   202,   202,
   29171             :      202,   202,   497,  1251,   704,   705,   540,   538,   187,   841,
   29172             :      842,  1261,    59,   846,   847,  1270,   448,   536,   178,   156,
   29173             :      406,   156,   406,   385,   471,   274,  1135,  1261,   493,   692,
   29174             :      310,   841,   550,   178,   883,   819,  1135,   871,   302,   871,
   29175             :      871,  1135,   819,  1252,   537,   535,   535,   540,  1159,   142,
   29176             :     1215,  1216,    38,   537,  1159,   537,   537,   537,   178,   537,
   29177             :      537,   514,  1233,  1234,   493,   495,  1238,  1135,  1234,   537,
   29178             :       21,   298,   540,  1242,   316,  1245,   540,   541,   478,   537,
   29179             :      537,    21,   298,   540,  1241,  1241,   540,   537,  1236,   540,
   29180             :      537,   537,   537,   537,   540,   540,   537,   336,   537,   537,
   29181             :      536,  1160,  1160,  1198,    13,    17,    18,    19,   202,   225,
   29182             :      312,   524,   525,   526,   527,   528,   529,   530,   531,   532,
   29183             :     1195,  1160,   537,   537,   172,   178,   408,   537,   537,    38,
   29184             :     1211,  1198,  1211,  1211,   178,   537,   135,   537,  1270,   332,
   29185             :     1174,    38,   537,   540,  1159,  1270,   540,  1159,  1222,  1159,
   29186             :      537,   513,  1160,  1160,   151,  1198,   178,    37,   302,   389,
   29187             :      478,   135,   137,   164,   292,   298,   455,   467,  1207,  1237,
   29188             :      292,  1238,   151,   905,  1159,   431,  1223,  1159,  1212,  1159,
   29189             :      448,   536,  1048,   536,  1181,   536,  1198,   490,   536,  1182,
   29190             :     1267,   440,   442,   440,   442,  1250,  1061,  1061,  1061,  1117,
   29191             :     1066,  1117,   957,  1257,  1156,   575,   999,   267,   536,   537,
   29192             :     1257,  1155,  1155,   535,   535,   537,   536,  1048,  1112,  1122,
   29193             :     1129,   178,   536,  1048,  1097,  1098,    38,  1099,  1100,  1267,
   29194             :      540,   100,   179,   213,   228,   251,   280,   379,  1103,  1100,
   29195             :       38,  1099,  1102,  1267,  1100,  1100,   517,  1116,  1221,  1159,
   29196             :      187,  1080,  1069,   312,  1193,  1196,   516,   865,     5,  1257,
   29197             :     1078,   311,   493,   471,  1075,   262,  1096,   490,  1118,   479,
   29198             :      433,   472,  1011,  1012,  1013,  1267,   310,  1014,  1267,  1097,
   29199             :     1031,  1032,   540,  1095,   526,  1222,   882,   820,   878,   878,
   29200             :       59,   880,   531,  1262,  1262,   310,  1251,   313,   310,  1159,
   29201             :      658,   778,   158,   550,   448,  1261,  1252,   580,  1135,   819,
   29202             :      819,  1135,   708,  1252,   190,   477,   448,   448,   708,   724,
   29203             :      730,   368,   403,   593,  1252,  1252,  1252,   215,   298,   161,
   29204             :      874,   325,   403,   448,  1159,   293,   154,   656,  1252,   536,
   29205             :      536,   158,  1267,   536,   685,   207,   536,   778,   423,   643,
   29206             :      644,   209,   778,   403,    25,   140,   372,   373,   403,   597,
   29207             :      605,   606,   730,   925,   395,   158,   550,   158,   550,  1252,
   29208             :     1252,  1252,  1252,   395,   395,   252,   733,   734,   733,   537,
   29209             :      540,   735,  1258,   207,   537,   540,   526,   538,   120,   608,
   29210             :     1267,   161,  1261,  1252,   368,   403,   593,  1252,  1252,  1252,
   29211             :      310,   326,   368,   403,    25,   140,   326,   368,   403,  1135,
   29212             :      290,  1135,   537,   540,   526,  1250,   448,  1262,   473,   751,
   29213             :      161,   661,   390,   936,   490,   670,   670,   661,   254,   333,
   29214             :      298,  1258,   333,  1262,   470,   161,   448,   448,   390,   420,
   29215             :      895,   895,   895,   325,   403,    92,   448,   924,   390,   120,
   29216             :      172,   609,   168,   549,   448,   448,   264,   264,   264,   448,
   29217             :      448,   390,   448,   448,   390,   448,   390,   448,   390,   448,
   29218             :      128,   550,  1135,   293,  1258,   403,   925,   158,   550,   448,
   29219             :      448,   537,  1252,   448,   924,   390,   448,  1261,  1252,   537,
   29220             :      537,   537,  1200,   535,  1135,   819,   225,   825,  1252,  1252,
   29221             :     1252,   225,   421,   422,   619,  1258,   619,   190,   537,   537,
   29222             :      178,   788,   790,   290,   312,   527,   528,   704,   791,   878,
   29223             :     1196,  1258,  1275,    72,    78,    92,   120,   122,   148,   182,
   29224             :      211,   293,   298,   346,   362,   466,   646,   647,   651,   157,
   29225             :      489,   553,   580,  1252,   580,   314,   728,  1250,  1250,  1250,
   29226             :      537,   540,  1262,   187,   380,  1262,  1257,   458,  1250,   661,
   29227             :        3,   172,   756,   895,    48,   567,   435,   737,   113,   996,
   29228             :     1159,   178,   540,  1251,   602,   795,   796,  1258,   537,   540,
   29229             :     1252,   172,   662,  1250,   691,  1250,  1252,   692,   536,   634,
   29230             :     1250,   537,  1252,   493,   495,   681,   601,    38,   158,  1047,
   29231             :      680,   448,   158,  1106,   526,   537,   540,   762,   537,   540,
   29232             :      120,   526,   889,  1258,   580,   435,   877,   878,   172,   894,
   29233             :       51,   375,   890,   891,   888,   891,   125,   217,   396,   471,
   29234             :      947,  1252,   304,   310,   315,   190,  1047,  1135,   536,   537,
   29235             :      540,   550,   473,   550,   473,   550,  1252,  1252,   746,   819,
   29236             :      158,   390,   390,   390,   390,   390,  1251,   540,   839,  1267,
   29237             :     1261,   493,   540,   843,  1261,   540,   849,   164,   313,   455,
   29238             :      848,  1108,   400,   156,   156,   113,   289,   840,   849,  1262,
   29239             :      225,   225,   225,   225,   704,   225,   225,   225,   225,   225,
   29240             :     1203,   444,  1159,   147,  1135,   537,  1159,   229,   466,   466,
   29241             :      537,  1234,  1236,   310,   310,  1232,  1236,    59,  1242,  1159,
   29242             :     1232,  1232,   310,   310,  1240,  1238,  1238,  1159,   537,  1159,
   29243             :     1207,  1159,  1159,   537,  1198,   540,  1135,  1160,  1160,  1160,
   29244             :     1160,   135,   137,   293,  1160,  1160,  1160,  1160,  1160,  1160,
   29245             :     1160,  1160,  1160,  1160,  1159,  1159,  1159,  1135,   537,   537,
   29246             :      537,  1198,   537,   540,    59,  1161,  1175,   537,  1270,  1170,
   29247             :      343,   427,  1173,   537,   540,   484,  1166,    38,   537,  1258,
   29248             :     1159,    35,    35,  1159,   537,  1159,   178,   292,  1238,  1159,
   29249             :      537,   151,  1160,  1160,   151,   151,  1159,  1159,  1067,   537,
   29250             :     1198,   540,  1159,  1183,  1267,  1061,  1061,  1061,  1061,  1250,
   29251             :     1250,  1250,  1080,   537,  1080,   537,  1004,   535,  1232,  1100,
   29252             :     1102,  1100,  1100,   536,   505,  1161,   537,  1267,   536,  1097,
   29253             :      228,   320,  1104,  1097,  1104,   228,  1103,  1104,   228,   437,
   29254             :     1110,   536,  1267,   536,   317,    59,   191,  1087,   536,   865,
   29255             :      169,   246,   311,   493,   445,   103,  1159,   376,  1016,   478,
   29256             :      537,   540,  1222,    90,  1016,   310,   537,   540,  1030,  1118,
   29257             :     1159,   537,   531,   882,   458,   181,   245,   384,   391,   398,
   29258             :      436,   459,   854,   172,   854,   537,   122,   148,   211,   289,
   29259             :      293,   779,  1252,  1252,    38,   473,   473,   244,   820,  1261,
   29260             :     1252,   448,   924,   390,   448,   215,  1252,    59,   438,  1252,
   29261             :      537,   158,   536,   668,   669,   860,  1164,  1267,   662,   639,
   29262             :      778,   662,   778,  1252,   662,   120,  1267,    86,   641,   642,
   29263             :      420,   182,   160,   195,   293,   601,   553,   113,   160,   182,
   29264             :      293,   420,   601,   641,   643,   702,   403,   606,   458,  1252,
   29265             :     1267,   395,   732,  1252,   604,   791,  1270,  1252,   325,   403,
   29266             :      448,   924,   390,   448,   161,   448,   448,   390,   180,   312,
   29267             :      423,   800,   801,   180,   312,   807,   808,   448,   448,   390,
   29268             :      537,   537,   537,   931,   290,   704,   878,   932,  1196,  1258,
   29269             :     1275,   368,  1252,   536,   493,   752,  1252,   670,   107,  1267,
   29270             :      536,   670,  1259,  1258,  1258,  1258,  1252,  1252,  1252,  1252,
   29271             :      607,    59,   438,  1252,  1252,  1252,  1252,   479,  1252,  1252,
   29272             :      172,   172,   370,   172,   196,  1261,  1252,  1252,  1261,  1252,
   29273             :     1252,  1252,  1252,  1252,  1252,  1252,   310,    78,   598,   158,
   29274             :       27,    50,   458,  1267,  1252,  1258,   730,  1252,  1252,  1252,
   29275             :     1252,  1066,   537,   225,   825,   225,   225,   225,   825,   553,
   29276             :      473,   624,   625,   708,   778,   493,   495,   819,   536,   819,
   29277             :     1252,  1160,    32,    59,   649,   123,   198,   122,   148,   298,
   29278             :      241,  1250,   648,   180,   350,   774,   781,   782,  1267,   717,
   29279             :      536,   331,   536,   634,   653,   210,   675,   637,  1262,  1262,
   29280             :     1135,   536,   602,    29,   125,   217,   396,   471,   757,   448,
   29281             :      753,  1261,   196,  1250,   739,   497,   310,   537,  1096,   688,
   29282             :      895,   537,   540,  1121,   728,   746,   537,   699,    38,   304,
   29283             :      331,   536,  1006,   636,   638,   640,   655,  1267,   331,   676,
   29284             :      677,   634,   675,   601,   307,   310,   682,  1047,   694,   692,
   29285             :      602,  1258,  1252,   857,   791,     3,   794,   310,   879,  1159,
   29286             :     1159,   540,   536,   885,   458,   540,    44,  1159,   448,   536,
   29287             :      662,  1250,   763,   708,   537,   972,   973,  1252,  1252,   550,
   29288             :      400,   550,  1251,  1251,  1251,  1251,  1251,   704,   184,   842,
   29289             :      849,   847,   537,  1252,   113,   178,   550,   849,   298,   828,
   29290             :     1258,   828,   828,   828,   225,   828,   828,   828,   828,   828,
   29291             :     1159,   537,   145,   242,   242,   537,   298,   298,   537,  1068,
   29292             :     1236,   332,  1224,   298,   298,  1236,  1236,  1224,  1224,   537,
   29293             :      537,   178,   537,  1159,   178,   135,   137,   178,   172,   151,
   29294             :      537,   500,  1168,  1198,   361,   478,    59,  1175,  1161,   491,
   29295             :      491,   537,  1159,   289,  1159,   540,  1167,  1137,  1159,  1159,
   29296             :     1159,  1159,    35,    35,  1159,  1159,   151,   537,   537,   537,
   29297             :     1159,   537,   331,  1184,  1250,  1250,  1250,  1250,  1087,  1258,
   29298             :     1087,  1258,   537,   540,  1113,  1114,  1164,   536,  1174,  1099,
   29299             :      536,  1251,  1097,   310,   473,  1105,  1097,   228,  1097,  1255,
   29300             :     1120,   536,  1120,  1267,  1062,  1159,   492,  1178,   905,   445,
   29301             :      304,   493,  1017,  1047,   324,  1047,  1013,   310,   536,  1015,
   29302             :     1159,   526,  1031,  1016,   458,   537,   303,   448,   835,   178,
   29303             :      778,   123,   198,   209,   122,   148,   475,   550,  1135,  1252,
   29304             :     1252,  1252,  1252,  1252,  1252,  1252,  1262,  1252,   778,   639,
   29305             :     1159,   537,   540,   493,    78,   859,   863,   859,   540,   663,
   29306             :      495,   660,   660,   120,  1267,   728,   607,   649,   196,   196,
   29307             :      298,   704,    38,   649,   298,   607,  1135,   550,   550,   526,
   29308             :       59,   438,  1252,  1252,  1252,  1252,  1252,  1261,  1252,  1252,
   29309             :     1257,  1257,  1135,   540,  1257,  1257,   540,  1261,  1252,  1252,
   29310             :      448,  1159,    72,  1159,  1262,  1252,   448,   448,   178,   202,
   29311             :      493,  1251,  1251,   819,  1251,   158,   161,   819,  1258,  1258,
   29312             :     1135,   550,   550,   448,   537,   225,   825,   825,   825,   825,
   29313             :      536,   620,   621,   553,   127,   180,   214,   180,  1159,   293,
   29314             :      647,   120,    38,   289,   659,   895,   661,   895,  1255,    35,
   29315             :      157,   202,   729,   733,   304,   633,   609,   155,   204,   536,
   29316             :      400,   473,   662,    38,  1262,   751,   567,   293,   536,   174,
   29317             :     1252,   687,  1258,   400,   602,   157,  1047,   819,   304,   633,
   29318             :      692,   537,   540,   493,   645,    59,   680,   609,   676,    84,
   29319             :      438,   683,   493,   961,    38,   683,   178,   310,   536,  1250,
   29320             :     1258,   876,   896,   897,  1268,   891,  1135,   172,   892,  1250,
   29321             :      178,   448,   916,   363,   764,   212,   709,   550,   537,   550,
   29322             :      550,  1252,   313,   223,   841,   550,   828,  1252,   537,  1225,
   29323             :     1226,  1232,   120,   143,   150,   164,   298,   455,   467,  1228,
   29324             :     1229,  1231,   537,   537,  1236,  1236,  1159,   537,  1160,   178,
   29325             :     1159,  1159,  1159,   536,   537,   540,   537,  1175,   537,   478,
   29326             :      417,   537,   206,   289,  1172,  1159,  1159,  1159,   537,    59,
   29327             :     1066,  1178,  1178,   393,  1056,  1159,   537,   540,    38,  1115,
   29328             :      120,  1127,  1128,  1160,    81,  1251,   537,  1159,   536,  1097,
   29329             :     1105,   536,   537,  1120,   537,   102,   188,   382,   536,  1081,
   29330             :     1082,  1083,  1084,  1085,  1086,  1159,  1179,  1180,  1267,  1066,
   29331             :      537,  1044,   536,  1247,  1011,    92,   858,   860,   136,   489,
   29332             :     1034,  1035,  1036,  1037,  1159,   841,   310,   841,   537,   448,
   29333             :      403,  1026,   537,   203,   666,   669,   312,   905,   819,   548,
   29334             :      819,   335,   537,   322,   537,   537,   645,    38,   158,   158,
   29335             :      536,   598,   791,  1262,  1252,   448,   536,   871,   905,   907,
   29336             :      801,   536,   536,   808,  1252,   537,   536,   537,   403,  1026,
   29337             :     1252,  1252,   536,   536,   536,   493,   517,   981,   370,   981,
   29338             :      981,   172,  1252,   598,  1252,   825,   626,   627,  1270,    54,
   29339             :      101,   126,   145,   151,   173,   177,   192,   298,   354,   622,
   29340             :      620,  1258,   871,    38,   912,   912,   537,   195,   536,   209,
   29341             :      473,   684,   265,   667,   684,   536,   782,   774,   536,   537,
   29342             :      540,  1250,   537,   400,    29,    83,    86,    93,   121,   182,
   29343             :      195,   208,   420,   423,   654,   654,  1249,  1252,  1252,   537,
   29344             :     1047,   752,   158,   113,   728,   178,  1252,    38,  1252,   692,
   29345             :      634,  1250,   537,   638,   314,  1267,   681,   676,   680,   125,
   29346             :      140,   343,  1252,    64,    72,   257,  1047,   819,  1106,   858,
   29347             :      178,   777,   878,   537,   540,   458,   147,   546,   890,   893,
   29348             :     1117,   415,   415,   537,   283,   308,   765,   766,   767,   172,
   29349             :      770,   708,   289,   477,   710,   711,  1252,   849,   540,    38,
   29350             :     1159,    37,   302,   310,   537,   493,   495,  1227,  1228,  1230,
   29351             :      172,  1160,  1169,  1198,   289,   512,   206,   537,  1198,   189,
   29352             :      356,   386,  1185,    58,   129,   112,  1057,    38,  1130,  1116,
   29353             :     1113,   536,  1160,   537,   540,    38,  1123,  1124,  1267,   537,
   29354             :     1251,  1198,   537,   536,   404,   536,   537,   540,   540,    38,
   29355             :     1071,   283,   308,  1018,  1019,  1020,   478,  1252,   537,   540,
   29356             :      294,   471,   266,   293,  1016,  1035,    35,  1038,  1038,   843,
   29357             :      854,   550,  1252,   438,   859,   536,   895,   536,   864,   601,
   29358             :      665,   362,   666,   666,   195,  1159,   473,   599,   403,  1026,
   29359             :     1252,  1202,   172,   804,   804,  1202,  1202,  1159,   438,  1198,
   29360             :     1198,   610,   611,  1269,   818,   819,   818,   819,  1251,   550,
   29361             :      537,   540,   120,   529,   536,   577,   628,   704,   978,  1258,
   29362             :      978,   293,   298,   354,   978,   978,  1117,   912,    42,   200,
   29363             :      659,   536,   700,  1159,   207,   179,   330,   409,   310,   671,
   29364             :      672,   673,   537,  1255,     6,   783,   733,   634,   675,  1252,
   29365             :      537,   728,   165,   803,   602,   961,  1250,   497,  1096,   728,
   29366             :     1047,  1006,   676,   634,   675,   645,   536,   682,   680,   681,
   29367             :      386,   386,    72,   313,    72,   692,   857,   537,  1250,   778,
   29368             :      885,   896,  1135,   539,   136,   493,   493,   766,   385,   435,
   29369             :      768,   141,   771,   489,   773,   477,   708,   728,   550,  1226,
   29370             :     1270,   150,    37,    88,   462,   497,    37,   497,   240,   309,
   29371             :     1235,   310,   537,  1159,   537,   537,   478,    52,   103,   461,
   29372             :     1159,  1186,  1187,  1186,  1186,   537,   169,   169,   662,  1252,
   29373             :     1224,  1120,   540,  1128,  1270,   537,   540,   172,  1135,   537,
   29374             :      537,  1198,   536,  1198,  1082,  1180,  1182,  1089,   537,   540,
   29375             :       38,  1047,  1117,   860,   403,   266,  1159,   444,   444,   178,
   29376             :     1252,   662,   684,   905,   865,   864,  1250,   895,   895,   700,
   29377             :      537,  1159,   438,   537,   316,   393,   537,   537,   537,  1252,
   29378             :      537,   537,   537,   540,  1257,   981,   627,   577,   629,   630,
   29379             :     1258,  1258,   298,   529,   662,   529,   662,  1258,  1258,   701,
   29380             :      537,   438,   125,   471,   310,   673,   310,   672,   536,   537,
   29381             :      540,   609,   400,   728,   819,    38,    38,   536,  1252,   961,
   29382             :      692,   680,   609,   676,   536,   678,   679,  1164,  1267,   683,
   29383             :      681,   682,   313,   313,   536,   203,   861,   172,   891,    30,
   29384             :      218,   948,   180,   180,   978,   385,   419,   772,   536,   157,
   29385             :      497,    37,   497,    37,   497,   497,   355,   355,  1230,   143,
   29386             :      150,  1187,   385,   171,   341,   171,   341,   154,  1188,  1188,
   29387             :     1188,    59,    59,   403,    81,   537,  1161,  1124,   317,     3,
   29388             :      120,   293,   298,   334,  1125,  1126,    38,  1101,   369,  1111,
   29389             :      537,  1081,   537,  1019,  1267,  1029,    59,   125,   136,   471,
   29390             :     1039,  1040,   136,   217,  1041,   841,  1026,   537,   670,   537,
   29391             :      865,   536,   664,   684,   684,  1252,   871,    59,  1026,   448,
   29392             :      610,   819,   537,   540,   529,   662,   537,   424,   487,   650,
   29393             :     1252,    63,   289,   374,   403,   674,   674,   537,     6,   400,
   29394             :     1252,   800,  1047,   728,   681,   676,   680,  1159,   537,   540,
   29395             :      863,   863,   682,   683,   858,   536,   648,   141,   294,   536,
   29396             :      943,   945,   949,  1008,  1021,  1028,  1047,  1058,   871,   871,
   29397             :      769,  1267,  1159,   774,   497,   497,   310,   310,   537,  1228,
   29398             :       35,   103,   187,   289,   445,   662,   662,  1267,   536,  1174,
   29399             :     1160,  1160,   298,  1160,  1126,  1267,   536,   537,  1117,   414,
   29400             :      439,   294,   403,   294,   120,   324,   479,   536,  1042,   550,
   29401             :      778,   662,   667,   778,   778,  1026,   819,   536,   630,    24,
   29402             :      120,   298,  1252,   728,   961,   682,   680,   681,   537,   679,
   29403             :      548,   548,   683,   537,   860,   862,   602,   385,   944,   945,
   29404             :      946,  1048,  1049,   540,   540,   537,  1255,   389,   389,   310,
   29405             :     1187,   385,   318,   403,   403,   448,   473,   282,  1131,  1132,
   29406             :     1267,    81,  1159,  1029,   479,  1011,   536,  1012,   663,   671,
   29407             :     1198,   661,   661,   728,   683,   681,   682,   863,   861,   537,
   29408             :      540,   683,   773,   537,   539,   448,   178,   536,   426,   426,
   29409             :      150,  1267,  1267,   229,  1255,  1256,  1267,   334,  1133,   537,
   29410             :      540,   172,  1135,  1123,   537,   478,  1198,   537,   537,   778,
   29411             :      537,   682,   683,   548,   648,   860,  1117,   157,   946,   415,
   29412             :      415,     5,   775,   776,  1257,  1258,  1270,   536,   120,  1258,
   29413             :     1231,  1132,   317,   158,   334,  1134,  1233,   537,  1042,   537,
   29414             :      324,  1042,   683,   602,   774,   493,   493,   537,   540,  1199,
   29415             :     1256,    38,    81,   537,  1134,  1258,  1227,  1134,  1011,   683,
   29416             :     1255,   180,   180,   776,  1066,   473,  1252,   536,  1231,  1235,
   29417             :     1227,   478,  1117,   536,   871,   871,   537,  1267,    81,  1131,
   29418             :     1230,  1235,  1042,   775,   536,   537,  1230,   537,  1131,   537
   29419             : };
   29420             : 
   29421             : /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM.  */
   29422             : static const yytype_int16 yyr1[] =
   29423             : {
   29424             :        0,   542,   543,   543,   543,   543,   543,   543,   544,   544,
   29425             :      545,   545,   546,   546,   546,   546,   546,   546,   546,   546,
   29426             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29427             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29428             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29429             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29430             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29431             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29432             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29433             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29434             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29435             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29436             :      546,   546,   546,   546,   546,   546,   546,   546,   546,   546,
   29437             :      546,   546,   546,   546,   546,   546,   546,   547,   547,   548,
   29438             :      548,   549,   549,   550,   550,   550,   551,   552,   553,   553,
   29439             :      553,   554,   554,   555,   555,   556,   556,   556,   556,   556,
   29440             :      556,   556,   556,   556,   557,   557,   557,   557,   557,   557,
   29441             :      558,   559,   559,   560,   560,   561,   561,   561,   561,   562,
   29442             :      562,   562,   562,   562,   562,   563,   564,   565,   565,   566,
   29443             :      566,   566,   566,   567,   567,   568,   568,   568,   568,   568,
   29444             :      568,   569,   569,   569,   570,   570,   570,   571,   571,   571,
   29445             :      571,   572,   572,   572,   572,   572,   572,   572,   572,   572,
   29446             :      572,   572,   573,   573,   574,   574,   575,   575,   576,   576,
   29447             :      576,   576,   577,   577,   577,   577,   578,   578,   578,   578,
   29448             :      578,   578,   578,   579,   579,   579,   580,   580,   581,   582,
   29449             :      582,   582,   582,   583,   583,   584,   584,   585,   585,   586,
   29450             :      586,   586,   586,   586,   587,   588,   588,   589,   589,   590,
   29451             :      591,   591,   591,   591,   591,   592,   592,   592,   592,   592,
   29452             :      592,   592,   592,   592,   592,   592,   592,   592,   592,   592,
   29453             :      592,   592,   592,   592,   592,   592,   593,   593,   594,   594,
   29454             :      594,   595,   596,   596,   596,   596,   596,   596,   596,   596,
   29455             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29456             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29457             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29458             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29459             :      596,   596,   596,   596,   596,   596,   596,   596,   596,   596,
   29460             :      596,   596,   596,   596,   597,   597,   598,   598,   599,   599,
   29461             :      600,   600,   600,   600,   601,   602,   602,   603,   603,   604,
   29462             :      604,   604,   604,   605,   605,   606,   606,   606,   606,   607,
   29463             :      607,   608,   608,   609,   609,   609,   609,   610,   611,   611,
   29464             :      612,   613,   613,   614,   614,   614,   614,   615,   615,   616,
   29465             :      616,   617,   617,   618,   618,   619,   619,   619,   620,   620,
   29466             :      621,   621,   622,   622,   622,   622,   622,   622,   622,   622,
   29467             :      622,   622,   622,   622,   622,   622,   622,   623,   623,   624,
   29468             :      624,   625,   625,   626,   626,   627,   628,   628,   628,   628,
   29469             :      628,   628,   629,   629,   630,   631,   631,   631,   631,   631,
   29470             :      631,   632,   632,   632,   632,   632,   632,   632,   632,   633,
   29471             :      633,   634,   634,   635,   635,   636,   636,   637,   637,   637,
   29472             :      638,   638,   639,   640,   640,   641,   641,   642,   642,   643,
   29473             :      643,   644,   644,   645,   645,   646,   646,   646,   646,   647,
   29474             :      647,   647,   647,   647,   647,   647,   647,   647,   648,   648,
   29475             :      648,   649,   649,   650,   650,   650,   651,   651,   651,   651,
   29476             :      651,   651,   652,   653,   653,   653,   654,   654,   654,   654,
   29477             :      654,   654,   654,   654,   654,   654,   655,   655,   656,   656,
   29478             :      656,   656,   656,   656,   656,   656,   657,   657,   658,   658,
   29479             :      659,   659,   660,   660,   661,   661,   662,   662,   663,   663,
   29480             :      664,   664,   665,   666,   666,   667,   667,   667,   667,   668,
   29481             :      668,   669,   669,   670,   670,   671,   671,   671,   671,   671,
   29482             :      672,   673,   674,   674,   674,   674,   674,   675,   675,   676,
   29483             :      676,   677,   678,   678,   679,   679,   679,   680,   680,   681,
   29484             :      681,   681,   682,   682,   682,   682,   683,   683,   684,   684,
   29485             :      685,   686,   686,   687,   687,   688,   688,   688,   689,   689,
   29486             :      690,   690,   691,   692,   692,   692,   693,   693,   694,   695,
   29487             :      695,   696,   697,   697,   698,   698,   699,   699,   700,   700,
   29488             :      701,   701,   702,   702,   702,   702,   702,   702,   702,   702,
   29489             :      702,   702,   702,   702,   702,   702,   702,   702,   703,   703,
   29490             :      704,   704,   704,   704,   705,   705,   706,   706,   707,   707,
   29491             :      708,   708,   709,   709,   710,   710,   711,   711,   712,   712,
   29492             :      713,   714,   714,   715,   715,   716,   716,   717,   717,   718,
   29493             :      718,   718,   718,   719,   720,   720,   721,   722,   722,   722,
   29494             :      722,   722,   722,   722,   722,   722,   722,   722,   722,   722,
   29495             :      723,   724,   724,   724,   724,   725,   725,   726,   726,   727,
   29496             :      727,   728,   728,   729,   729,   730,   731,   731,   732,   732,
   29497             :      732,   732,   733,   734,   735,   736,   736,   737,   737,   738,
   29498             :      738,   739,   739,   740,   740,   740,   741,   741,   741,   741,
   29499             :      742,   743,   743,   744,   744,   745,   745,   746,   746,   747,
   29500             :      747,   748,   749,   750,   751,   751,   752,   752,   753,   753,
   29501             :      754,   754,   755,   755,   756,   756,   757,   757,   757,   757,
   29502             :      757,   758,   759,   759,   760,   760,   761,   761,   761,   762,
   29503             :      762,   763,   763,   763,   763,   763,   764,   764,   765,   765,
   29504             :      766,   767,   767,   768,   768,   769,   770,   770,   771,   771,
   29505             :      772,   772,   773,   773,   774,   774,   775,   775,   775,   776,
   29506             :      776,   776,   776,   777,   777,   778,   778,   779,   779,   779,
   29507             :      779,   779,   779,   779,   779,   780,   780,   781,   781,   782,
   29508             :      783,   783,   784,   785,   785,   785,   785,   786,   787,   787,
   29509             :      787,   787,   787,   787,   787,   787,   787,   787,   787,   787,
   29510             :      787,   787,   787,   787,   788,   789,   789,   790,   790,   791,
   29511             :      791,   791,   791,   791,   791,   792,   793,   793,   794,   795,
   29512             :      795,   796,   796,   797,   797,   797,   797,   797,   798,   798,
   29513             :      799,   800,   800,   801,   801,   801,   801,   801,   802,   802,
   29514             :      803,   803,   804,   804,   804,   805,   806,   806,   807,   807,
   29515             :      808,   808,   809,   809,   810,   810,   811,   812,   813,   813,
   29516             :      813,   813,   813,   813,   813,   813,   813,   813,   813,   813,
   29517             :      814,   814,   814,   814,   814,   814,   814,   814,   814,   814,
   29518             :      814,   814,   814,   815,   815,   815,   815,   815,   816,   816,
   29519             :      816,   816,   816,   816,   816,   816,   817,   817,   817,   818,
   29520             :      818,   819,   819,   820,   820,   821,   821,   822,   823,   823,
   29521             :      823,   824,   824,   824,   824,   824,   824,   824,   824,   824,
   29522             :      824,   824,   824,   824,   824,   824,   824,   824,   824,   825,
   29523             :      825,   826,   826,   826,   826,   826,   826,   826,   826,   826,
   29524             :      826,   827,   827,   828,   828,   829,   829,   830,   830,   830,
   29525             :      830,   830,   830,   830,   830,   830,   830,   830,   830,   830,
   29526             :      830,   830,   830,   831,   831,   832,   832,   833,   834,   834,
   29527             :      835,   835,   835,   835,   835,   836,   836,   837,   837,   837,
   29528             :      837,   837,   838,   838,   839,   839,   840,   840,   840,   840,
   29529             :      840,   840,   840,   840,   840,   840,   840,   840,   840,   840,
   29530             :      840,   840,   840,   840,   840,   840,   840,   841,   841,   842,
   29531             :      842,   843,   843,   844,   844,   845,   845,   846,   846,   847,
   29532             :      848,   848,   848,   849,   849,   850,   851,   851,   852,   852,
   29533             :      852,   853,   853,   853,   854,   854,   854,   854,   854,   854,
   29534             :      854,   855,   855,   856,   856,   857,   857,   858,   858,   859,
   29535             :      859,   860,   860,   860,   861,   861,   862,   862,   863,   863,
   29536             :      864,   864,   864,   865,   865,   865,   866,   866,   866,   866,
   29537             :      867,   867,   868,   868,   869,   869,   870,   870,   871,   871,
   29538             :      871,   871,   872,   872,   873,   873,   874,   874,   874,   874,
   29539             :      874,   875,   875,   875,   875,   875,   876,   877,   878,   878,
   29540             :      878,   879,   879,   879,   880,   881,   881,   881,   881,   882,
   29541             :      882,   883,   884,   884,   885,   885,   886,   886,   887,   887,
   29542             :      887,   887,   887,   887,   887,   887,   887,   887,   887,   887,
   29543             :      887,   887,   887,   887,   887,   888,   888,   888,   888,   888,
   29544             :      889,   889,   890,   891,   891,   891,   892,   892,   893,   893,
   29545             :      894,   894,   895,   895,   896,   897,   897,   898,   898,   898,
   29546             :      899,   899,   900,   900,   901,   901,   901,   901,   901,   901,
   29547             :      902,   902,   903,   903,   904,   904,   904,   904,   905,   905,
   29548             :      906,   906,   907,   908,   909,   909,   910,   910,   911,   911,
   29549             :      911,   912,   912,   912,   913,   914,   914,   915,   916,   916,
   29550             :      916,   916,   917,   918,   918,   918,   919,   919,   920,   920,
   29551             :      921,   921,   922,   922,   923,   923,   923,   923,   923,   923,
   29552             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29553             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29554             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29555             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   923,
   29556             :      923,   923,   923,   923,   923,   923,   923,   923,   923,   924,
   29557             :      924,   925,   925,   926,   926,   926,   926,   926,   926,   927,
   29558             :      927,   928,   928,   928,   928,   928,   928,   928,   928,   928,
   29559             :      928,   928,   928,   928,   928,   928,   928,   928,   928,   928,
   29560             :      928,   928,   928,   928,   928,   928,   928,   928,   929,   930,
   29561             :      930,   931,   931,   931,   932,   932,   932,   932,   932,   933,
   29562             :      934,   934,   934,   934,   934,   934,   934,   934,   934,   934,
   29563             :      934,   934,   934,   934,   934,   934,   934,   934,   934,   934,
   29564             :      934,   934,   934,   934,   935,   935,   935,   936,   936,   936,
   29565             :      936,   936,   936,   936,   937,   937,   938,   938,   938,   938,
   29566             :      939,   940,   940,   940,   940,   940,   940,   940,   940,   940,
   29567             :      941,   941,   942,   943,   943,   943,   944,   944,   945,   945,
   29568             :      945,   945,   945,   946,   946,   947,   947,   947,   947,   948,
   29569             :      948,   948,   949,   950,   950,   951,   952,   952,   953,   953,
   29570             :      953,   953,   953,   953,   953,   953,   953,   953,   953,   953,
   29571             :      954,   954,   955,   955,   955,   956,   956,   956,   956,   956,
   29572             :      957,   957,   957,   958,   958,   959,   959,   959,   960,   960,
   29573             :      960,   960,   961,   961,   961,   961,   962,   963,   964,   964,
   29574             :      965,   965,   966,   966,   966,   967,   967,   967,   967,   967,
   29575             :      967,   967,   968,   968,   969,   969,   969,   969,   970,   971,
   29576             :      971,   971,   971,   972,   972,   973,   974,   975,   975,   976,
   29577             :      977,   977,   977,   977,   977,   977,   977,   978,   978,   979,
   29578             :      980,   980,   980,   980,   980,   980,   981,   981,   982,   983,
   29579             :      983,   983,   983,   983,   984,   984,   985,   985,   986,   986,
   29580             :      987,   987,   988,   988,   989,   990,   990,   990,   991,   991,
   29581             :      991,   992,   992,   993,   993,   994,   994,   995,   995,   996,
   29582             :      996,   997,   998,   998,   999,   999,  1000,  1000,  1000,  1000,
   29583             :     1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,  1001,
   29584             :     1002,  1003,  1003,  1004,  1004,  1004,  1004,  1004,  1005,  1005,
   29585             :     1005,  1006,  1006,  1007,  1007,  1007,  1007,  1008,  1009,  1009,
   29586             :     1010,  1010,  1010,  1010,  1010,  1011,  1011,  1012,  1012,  1013,
   29587             :     1014,  1014,  1014,  1015,  1015,  1015,  1016,  1016,  1017,  1017,
   29588             :     1018,  1018,  1019,  1020,  1020,  1021,  1022,  1022,  1023,  1024,
   29589             :     1024,  1025,  1025,  1025,  1025,  1025,  1025,  1025,  1025,  1026,
   29590             :     1026,  1027,  1027,  1027,  1028,  1029,  1029,  1030,  1030,  1031,
   29591             :     1032,  1032,  1033,  1034,  1034,  1035,  1035,  1035,  1035,  1035,
   29592             :     1036,  1036,  1037,  1037,  1038,  1038,  1039,  1040,  1041,  1041,
   29593             :     1041,  1041,  1041,  1042,  1043,  1044,  1045,  1045,  1045,  1045,
   29594             :     1045,  1045,  1046,  1046,  1046,  1047,  1047,  1048,  1048,  1049,
   29595             :     1049,  1049,  1049,  1049,  1049,  1049,  1049,  1050,  1050,  1051,
   29596             :     1051,  1051,  1051,  1051,  1051,  1051,  1052,  1052,  1052,  1053,
   29597             :     1053,  1054,  1055,  1055,  1055,  1056,  1056,  1056,  1057,  1057,
   29598             :     1057,  1058,  1058,  1059,  1059,  1060,  1060,  1060,  1060,  1060,
   29599             :     1060,  1060,  1060,  1060,  1061,  1061,  1062,  1062,  1062,  1063,
   29600             :     1063,  1064,  1064,  1065,  1065,  1066,  1066,  1067,  1068,  1068,
   29601             :     1069,  1069,  1070,  1070,  1070,  1070,  1071,  1071,  1072,  1072,
   29602             :     1072,  1072,  1072,  1072,  1073,  1073,  1074,  1074,  1075,  1076,
   29603             :     1076,  1076,  1077,  1077,  1078,  1078,  1079,  1079,  1080,  1080,
   29604             :     1081,  1081,  1082,  1082,  1082,  1082,  1082,  1083,  1084,  1085,
   29605             :     1086,  1087,  1087,  1088,  1088,  1089,  1089,  1090,  1090,  1091,
   29606             :     1092,  1092,  1092,  1092,  1093,  1093,  1094,  1094,  1095,  1095,
   29607             :     1096,  1096,  1097,  1097,  1097,  1097,  1097,  1097,  1097,  1097,
   29608             :     1097,  1097,  1097,  1097,  1098,  1098,  1098,  1098,  1098,  1098,
   29609             :     1099,  1099,  1099,  1099,  1100,  1100,  1101,  1101,  1102,  1102,
   29610             :     1102,  1102,  1102,  1103,  1103,  1103,  1103,  1104,  1104,  1105,
   29611             :     1105,  1106,  1106,  1107,  1107,  1107,  1108,  1108,  1109,  1109,
   29612             :     1109,  1110,  1111,  1111,  1112,  1112,  1113,  1114,  1114,  1115,
   29613             :     1115,  1116,  1116,  1117,  1117,  1118,  1118,  1118,  1119,  1119,
   29614             :     1120,  1120,  1121,  1122,  1122,  1123,  1123,  1124,  1124,  1124,
   29615             :     1125,  1125,  1126,  1126,  1126,  1126,  1126,  1127,  1127,  1128,
   29616             :     1128,  1129,  1130,  1130,  1131,  1131,  1132,  1132,  1132,  1132,
   29617             :     1132,  1132,  1133,  1133,  1134,  1134,  1135,  1135,  1135,  1135,
   29618             :     1135,  1135,  1136,  1136,  1136,  1137,  1137,  1137,  1137,  1137,
   29619             :     1137,  1137,  1137,  1138,  1138,  1138,  1138,  1138,  1139,  1139,
   29620             :     1140,  1140,  1141,  1141,  1141,  1141,  1141,  1141,  1141,  1141,
   29621             :     1141,  1141,  1141,  1142,  1142,  1143,  1143,  1144,  1144,  1145,
   29622             :     1146,  1147,  1147,  1148,  1148,  1149,  1150,  1151,  1151,  1151,
   29623             :     1151,  1151,  1151,  1152,  1152,  1153,  1153,  1153,  1153,  1154,
   29624             :     1155,  1155,  1155,  1156,  1156,  1156,  1156,  1156,  1156,  1156,
   29625             :     1156,  1156,  1156,  1156,  1156,  1156,  1156,  1157,  1157,  1158,
   29626             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29627             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29628             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29629             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29630             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29631             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,
   29632             :     1159,  1159,  1159,  1159,  1159,  1159,  1159,  1159,  1160,  1160,
   29633             :     1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,
   29634             :     1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,  1160,
   29635             :     1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,  1161,
   29636             :     1161,  1161,  1161,  1161,  1162,  1162,  1162,  1162,  1162,  1162,
   29637             :     1162,  1163,  1163,  1163,  1164,  1164,  1164,  1165,  1165,  1165,
   29638             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29639             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29640             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29641             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29642             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,  1165,
   29643             :     1165,  1165,  1165,  1165,  1165,  1165,  1165,  1166,  1166,  1167,
   29644             :     1167,  1167,  1167,  1168,  1169,  1169,  1170,  1170,  1171,  1171,
   29645             :     1172,  1172,  1172,  1173,  1173,  1173,  1174,  1174,  1174,  1174,
   29646             :     1175,  1175,  1176,  1176,  1177,  1177,  1178,  1178,  1179,  1179,
   29647             :     1180,  1181,  1181,  1181,  1182,  1183,  1183,  1184,  1184,  1185,
   29648             :     1185,  1185,  1185,  1186,  1186,  1187,  1187,  1187,  1187,  1187,
   29649             :     1188,  1188,  1188,  1188,  1188,  1189,  1189,  1189,  1190,  1190,
   29650             :     1191,  1192,  1192,  1192,  1193,  1193,  1194,  1194,  1194,  1194,
   29651             :     1194,  1194,  1194,  1194,  1194,  1194,  1194,  1194,  1195,  1195,
   29652             :     1196,  1196,  1197,  1197,  1197,  1197,  1197,  1197,  1198,  1198,
   29653             :     1199,  1199,  1200,  1200,  1200,  1201,  1201,  1202,  1202,  1203,
   29654             :     1203,  1203,  1204,  1204,  1205,  1206,  1206,  1206,  1206,  1206,
   29655             :     1206,  1206,  1206,  1207,  1207,  1207,  1207,  1208,  1208,  1209,
   29656             :     1210,  1210,  1210,  1210,  1210,  1211,  1211,  1211,  1212,  1212,
   29657             :     1213,  1214,  1214,  1215,  1216,  1216,  1217,  1217,  1218,  1218,
   29658             :     1219,  1219,  1219,  1219,  1220,  1220,  1221,  1221,  1222,  1222,
   29659             :     1223,  1223,  1224,  1224,  1225,  1225,  1226,  1227,  1227,  1227,
   29660             :     1227,  1227,  1227,  1227,  1227,  1227,  1228,  1228,  1229,  1229,
   29661             :     1229,  1229,  1229,  1229,  1229,  1229,  1230,  1230,  1230,  1230,
   29662             :     1231,  1231,  1232,  1233,  1233,  1234,  1234,  1235,  1235,  1235,
   29663             :     1235,  1235,  1236,  1236,  1237,  1237,  1237,  1237,  1237,  1238,
   29664             :     1238,  1238,  1238,  1238,  1239,  1239,  1240,  1240,  1241,  1241,
   29665             :     1241,  1242,  1242,  1242,  1243,  1243,  1244,  1244,  1245,  1245,
   29666             :     1246,  1246,  1247,  1247,  1248,  1248,  1248,  1248,  1249,  1249,
   29667             :     1250,  1250,  1251,  1251,  1252,  1253,  1254,  1255,  1255,  1256,
   29668             :     1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,  1256,
   29669             :     1256,  1256,  1257,  1258,  1259,  1259,  1259,  1260,  1261,  1261,
   29670             :     1261,  1261,  1262,  1262,  1263,  1264,  1265,  1265,  1266,  1266,
   29671             :     1267,  1267,  1267,  1268,  1268,  1268,  1269,  1269,  1269,  1269,
   29672             :     1270,  1270,  1270,  1270,  1270,  1271,  1271,  1272,  1272,  1272,
   29673             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29674             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29675             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29676             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29677             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29678             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29679             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29680             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29681             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29682             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29683             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29684             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29685             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29686             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29687             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29688             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29689             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29690             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29691             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29692             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29693             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29694             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29695             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29696             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29697             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29698             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29699             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29700             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29701             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29702             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29703             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29704             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,  1272,
   29705             :     1272,  1272,  1272,  1272,  1272,  1272,  1272,  1273,  1273,  1273,
   29706             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29707             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29708             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29709             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29710             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29711             :     1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,  1273,
   29712             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   29713             :     1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,  1274,
   29714             :     1274,  1274,  1274,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29715             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29716             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29717             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29718             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29719             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29720             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29721             :     1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,  1275,
   29722             :     1275,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29723             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29724             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29725             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29726             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29727             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29728             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29729             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29730             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29731             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29732             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29733             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29734             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29735             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29736             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29737             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29738             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29739             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29740             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29741             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29742             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29743             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29744             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29745             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29746             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29747             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29748             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29749             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29750             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29751             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29752             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29753             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29754             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29755             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29756             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29757             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29758             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29759             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29760             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29761             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29762             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29763             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29764             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29765             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29766             :     1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,  1276,
   29767             :     1276,  1276,  1276,  1276,  1276,  1276
   29768             : };
   29769             : 
   29770             : /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM.  */
   29771             : static const yytype_int8 yyr2[] =
   29772             : {
   29773             :        0,     2,     1,     2,     2,     2,     2,     2,     3,     1,
   29774             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29775             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29776             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29777             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29778             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29779             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29780             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29781             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29782             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29783             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29784             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29785             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29786             :        1,     1,     1,     1,     1,     1,     0,     1,     0,     1,
   29787             :        0,     1,     0,     1,     1,     0,     2,     5,     1,     1,
   29788             :        0,     2,     0,     2,     0,     2,     2,     3,     3,     1,
   29789             :        3,     3,     2,     1,     1,     2,     2,     2,     3,     3,
   29790             :        5,     5,     5,     0,     3,     5,     5,     5,     5,     3,
   29791             :        5,     3,     5,     3,     5,     5,     6,     1,     1,     6,
   29792             :        4,     9,     7,     2,     0,     1,     1,     1,     1,     1,
   29793             :        1,     2,     3,     3,     2,     5,     1,     3,     3,     3,
   29794             :        3,     1,     3,     3,     2,     2,     2,     2,     3,     3,
   29795             :        3,     3,     1,     3,     1,     3,     1,     1,     2,     2,
   29796             :        2,     1,     1,     1,     1,     1,     1,     1,     3,     5,
   29797             :        1,     1,     1,     1,     1,     0,     1,     1,     2,     1,
   29798             :        2,     3,     2,     1,     1,     2,     1,     2,     1,     2,
   29799             :        3,     4,     3,     2,     4,     1,     1,     1,     1,     1,
   29800             :        2,     2,     2,     2,     2,     4,     6,     4,     6,    10,
   29801             :       13,     4,     6,     4,    10,    13,     4,     6,     4,     6,
   29802             :        5,     7,    11,    14,     5,     7,     1,     3,     4,     4,
   29803             :        4,     3,     2,     5,     3,     6,     4,     6,     6,     9,
   29804             :        5,     7,     6,     6,     5,     5,     5,     5,     9,     4,
   29805             :        5,     7,     6,     4,     8,     4,     2,     4,     4,     3,
   29806             :        6,     4,     3,     3,     3,     2,     2,     3,     4,     4,
   29807             :        3,     3,     3,     3,     3,     3,     4,     4,     3,     2,
   29808             :        3,     2,     2,     3,     4,     3,     2,     2,     3,     4,
   29809             :        4,     4,     5,     1,     3,     2,     2,     0,     2,     0,
   29810             :        1,     1,     1,     3,     3,     2,     0,     1,     3,     3,
   29811             :        1,     5,     3,     1,     2,     1,     3,     2,     3,     1,
   29812             :        1,     1,     1,     6,     6,    10,     1,     2,     1,     3,
   29813             :        4,     1,     3,     4,     6,     4,     8,     2,     2,    11,
   29814             :        9,     1,     1,     1,     0,     1,     1,     1,     1,     3,
   29815             :        2,     0,     1,     1,     3,     3,     1,     1,     3,     3,
   29816             :        3,     3,     4,     4,     3,     3,     2,     1,     0,     3,
   29817             :        0,     1,     0,     1,     3,     2,     1,     1,     1,     1,
   29818             :        3,     0,     1,     3,     1,    13,    16,    12,    15,    14,
   29819             :       17,     1,     1,     2,     2,     2,     2,     1,     0,     1,
   29820             :        0,     3,     0,     1,     3,     1,     3,     1,     1,     1,
   29821             :        1,     1,     6,     2,     4,     2,     2,     1,     0,     2,
   29822             :        2,     1,     0,     2,     0,     3,     1,     1,     2,     3,
   29823             :        1,     4,     4,     5,     2,     5,     7,     5,     2,     3,
   29824             :        0,     1,     2,     1,     1,     0,     1,     2,     2,     2,
   29825             :        1,     2,     3,     3,     3,     0,     1,     1,     1,     1,
   29826             :        1,     1,     1,     1,     1,     1,     3,     1,     5,     4,
   29827             :       10,     3,    10,     4,    10,    12,     3,     1,     5,     3,
   29828             :        2,     0,     2,     0,     3,     0,     1,     3,     3,     0,
   29829             :        4,     0,     1,     4,     0,     2,     2,     2,     0,     1,
   29830             :        3,     3,     6,     4,     0,     1,     1,     2,     2,     0,
   29831             :        3,     3,     2,     1,     1,     3,     3,     4,     0,     1,
   29832             :        0,     6,     1,     3,     3,     3,     5,     2,     0,     2,
   29833             :        2,     0,     3,     4,     4,     0,     2,     0,     4,     0,
   29834             :        3,     8,    11,     1,     3,     1,     1,     3,     6,     8,
   29835             :        7,    10,     6,     2,     3,     0,     8,    11,     5,     1,
   29836             :        0,     6,     5,     8,     4,     6,     1,     0,     3,     0,
   29837             :        1,     2,     2,     2,     1,     2,     3,     1,     2,     2,
   29838             :        2,     2,     3,     3,     3,     1,     3,     1,     1,     0,
   29839             :        1,     2,     2,     1,     1,     3,     6,    10,     1,     0,
   29840             :        1,     2,     2,     0,     2,     2,     1,     0,     1,     0,
   29841             :        7,     2,     0,     3,     5,     5,     8,     2,     0,     2,
   29842             :        2,     2,     1,     5,     2,     0,     2,     6,     6,     6,
   29843             :       10,     6,     6,     6,     9,     9,     6,     6,     9,     6,
   29844             :        7,     2,     2,     2,     2,     1,     2,     1,     0,     7,
   29845             :        6,     4,     0,     1,     3,     4,     1,     3,     1,     2,
   29846             :        2,     2,     2,     1,     1,    10,    13,     2,     0,     2,
   29847             :        2,     1,     0,     5,     4,     4,    11,    14,    12,    15,
   29848             :       11,     2,     1,     4,     0,     8,    11,     1,     1,     7,
   29849             :        9,     8,    10,     8,     4,     0,     5,     0,     2,     0,
   29850             :        2,     0,     2,     0,     2,     0,     1,     1,     1,     1,
   29851             :        1,     8,     1,     1,    17,    21,     1,     1,     2,     1,
   29852             :        3,     1,     1,     1,     3,     1,     2,     0,     1,     2,
   29853             :        4,     1,     1,     1,     1,     1,     3,     0,     1,     0,
   29854             :        1,     1,     4,     0,     1,     1,     1,     3,     0,     1,
   29855             :        1,     1,     1,     2,     0,     0,     2,     2,     1,     2,
   29856             :        2,     2,     2,     2,     1,    11,    13,     1,     3,     5,
   29857             :        1,     3,     5,     1,     2,     2,     1,     8,     6,     5,
   29858             :        4,     4,     3,     7,     8,     6,     6,     6,     6,     6,
   29859             :        4,     7,     5,     8,     3,     1,     3,     3,     1,     1,
   29860             :        1,     1,     1,     1,     1,     3,     1,     3,     3,     1,
   29861             :        0,     1,     3,     7,     9,     9,     8,     6,     3,     0,
   29862             :       13,     1,     3,     4,     4,     3,     6,     2,     1,     0,
   29863             :        2,     0,     2,     4,     0,     6,     8,     8,     1,     3,
   29864             :        5,     5,     7,     9,     7,     9,     5,     6,     6,     4,
   29865             :        6,     4,     6,     8,     4,     6,     4,     6,     5,     7,
   29866             :        1,     1,     1,     2,     1,     2,     1,     1,     1,     3,
   29867             :        3,     3,     3,     1,     1,     1,     1,     1,     2,     2,
   29868             :        1,     3,     2,     1,     1,     1,     1,     1,     1,     1,
   29869             :        3,     1,     2,     2,     3,     1,     3,     5,     2,     2,
   29870             :        0,     6,     6,     6,     6,     6,     6,     6,     6,     8,
   29871             :        9,     8,     6,     6,     9,     9,     9,     7,    10,     1,
   29872             :        1,     8,     8,     8,     8,     8,     8,     8,     9,     8,
   29873             :        8,     2,     0,     1,     1,     2,     2,     1,     2,     3,
   29874             :        3,     3,     3,     4,     4,     3,     3,     3,     4,     4,
   29875             :        3,     4,     4,     1,     1,     1,     0,     8,     8,    11,
   29876             :        1,     1,     2,     4,     5,     1,     3,     2,     2,     2,
   29877             :        2,     2,     1,     3,     1,     3,     1,     2,     2,     4,
   29878             :        3,     2,     2,     2,     2,     2,     2,     3,     2,     2,
   29879             :        2,     2,     5,     5,     5,     5,     5,     1,     3,     1,
   29880             :        2,     3,     0,     5,     7,     6,     9,     3,     1,     2,
   29881             :        1,     1,     1,     3,     0,     5,     2,     0,     3,     3,
   29882             :        3,     7,     7,    10,     1,     1,     1,     1,     1,     1,
   29883             :        2,    16,    19,     1,     0,     2,     0,     1,     3,     4,
   29884             :        5,     2,     2,     4,     4,     0,     1,     3,     2,     0,
   29885             :        1,     1,     0,     2,     2,     0,     9,    12,     7,     7,
   29886             :        2,     0,     3,     2,     1,     3,     1,     3,     2,     1,
   29887             :        1,     2,     3,     2,     1,     3,     3,     3,     2,     2,
   29888             :        1,     1,     1,     1,     2,     1,     1,     1,     1,     4,
   29889             :        5,     1,     3,     3,     1,     3,     3,     5,     6,     1,
   29890             :        3,     2,     1,     3,     1,     0,     1,     2,     4,     5,
   29891             :        1,     1,     1,     1,     3,     3,     2,     2,     1,     2,
   29892             :        2,     2,     2,     1,     2,     2,     2,     2,     1,     1,
   29893             :        1,     3,     2,     1,     4,     0,     3,     0,     1,     1,
   29894             :        3,     5,     2,     0,     2,     1,     3,     5,     5,     5,
   29895             :        1,     2,     1,     0,     4,     6,     4,     6,     4,     6,
   29896             :        4,     6,     4,     6,     3,     5,     5,     5,     1,     3,
   29897             :        1,     3,     2,     2,     1,     2,     1,     2,    11,    10,
   29898             :       10,     2,     2,     0,     9,     2,     0,    10,    11,    11,
   29899             :        5,     5,     8,     5,     5,     5,     1,     1,     1,     1,
   29900             :        3,     0,     5,     5,     6,     6,     6,     6,     6,     8,
   29901             :        8,     6,     6,     7,     9,     9,     8,    10,     6,     6,
   29902             :        6,     6,     6,     6,     6,     8,     6,     8,     6,     8,
   29903             :        7,     9,     6,     8,     7,     9,     8,    10,     8,    10,
   29904             :        9,    11,     8,    10,     9,    11,     8,     8,     7,     6,
   29905             :        6,     6,     6,     8,     8,     8,     8,     6,     9,     1,
   29906             :        0,     2,     0,     8,     8,     8,    10,     9,     8,     1,
   29907             :        0,     6,     6,     6,     6,     6,     6,     6,     9,     9,
   29908             :        6,     6,     6,     8,     6,     8,     8,     8,     8,     6,
   29909             :        8,     6,     8,     7,     9,     7,     9,     6,     7,     1,
   29910             :        3,     3,     3,     1,     1,     1,     1,     1,     1,     7,
   29911             :        6,     6,     6,     6,     6,     6,     7,     7,     6,     9,
   29912             :        9,     6,     6,     6,     6,     6,     6,     8,     8,     8,
   29913             :        6,     7,     6,     6,     4,     7,     6,     4,     4,     4,
   29914             :        3,     4,     3,     1,     1,     3,     5,     5,     5,     5,
   29915             :        8,     5,     5,     6,     7,     7,     7,     4,     4,     5,
   29916             :        4,     6,    13,     1,     1,     3,     3,     1,     1,     1,
   29917             :        1,     1,     1,     1,     0,     1,     1,     1,     1,     1,
   29918             :        1,     0,     3,     2,     0,     2,     2,     2,     3,     3,
   29919             :        3,     3,     2,     3,     2,     5,     4,     3,     3,     3,
   29920             :        3,     3,     1,     1,     0,     3,     2,     2,     1,     2,
   29921             :        1,     3,     2,     1,     0,     2,     3,     0,     9,    11,
   29922             :       12,    14,     3,     4,     4,     0,     2,     5,     1,     0,
   29923             :        1,     2,     3,     3,     3,     1,     2,     1,     1,     1,
   29924             :        1,     1,     1,     0,     5,     4,     6,     6,     4,     3,
   29925             :        5,     7,     9,     1,     3,     1,     5,     4,     4,     6,
   29926             :        4,     6,     6,     5,     7,     9,     6,     1,     0,     6,
   29927             :       11,    11,    11,    13,     9,    11,     1,     1,    10,     6,
   29928             :        4,     4,     2,     5,     2,     0,     6,     5,     3,     5,
   29929             :        1,     3,     1,     1,     2,     1,     1,     1,     1,     1,
   29930             :        0,     1,     0,     1,     0,     1,     0,     1,     0,     3,
   29931             :        0,     2,     1,     3,     1,     0,     2,     4,     3,     5,
   29932             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   29933             :        5,     3,     0,     1,     1,     1,     1,     1,     3,     9,
   29934             :       12,     3,     0,     2,     3,     2,     3,     7,     1,     3,
   29935             :        1,     4,     4,     7,     2,     1,     1,     1,     3,     2,
   29936             :        8,     5,     0,     4,     3,     0,     3,     0,     4,     0,
   29937             :        1,     3,     3,     1,     1,     7,     2,     0,     5,     3,
   29938             :        0,     2,     2,     2,     3,     1,     3,     1,     2,     1,
   29939             :        0,     1,     2,     0,     8,     1,     3,     3,     5,     2,
   29940             :        1,     3,    10,     1,     2,     4,     4,     4,     5,     5,
   29941             :        2,     5,     3,     5,     2,     0,     3,     1,     2,     5,
   29942             :        5,     8,     3,     4,     7,     1,     0,     3,     2,     2,
   29943             :        2,     2,     0,     2,     2,     1,     1,     3,     3,     1,
   29944             :        2,     4,     4,     2,     3,     5,     5,     1,     1,     9,
   29945             :        9,     1,     2,     4,     4,     4,     2,     2,     3,     1,
   29946             :        3,     9,     1,     2,     0,     7,     7,     0,    10,     6,
   29947             :        0,     1,     0,     2,     0,     3,     3,     4,     4,     4,
   29948             :        4,     3,     2,     1,     1,     0,     1,     1,     0,     1,
   29949             :        5,     1,     0,     1,     1,     1,     0,     3,     1,     3,
   29950             :        4,     3,     2,     2,     1,     1,     1,     0,     2,     4,
   29951             :        5,     6,     4,     5,     2,     3,     1,     1,     1,     1,
   29952             :        2,     2,     1,     1,     1,     1,     1,     1,     4,     0,
   29953             :        1,     3,     1,     1,     1,     1,     1,     2,     4,     4,
   29954             :        5,     2,     0,     1,     3,     1,     0,     1,     2,     3,
   29955             :        2,     4,     2,     3,     2,     0,     4,     5,     2,     0,
   29956             :        1,     3,     2,     3,     2,     3,     2,     3,     2,     3,
   29957             :        1,     4,     2,     3,     3,     4,     5,     4,     5,     4,
   29958             :        5,     2,     4,     1,     1,     0,     2,     0,     1,     4,
   29959             :        5,     4,     0,     2,     2,     2,     1,     1,     0,     5,
   29960             :        2,     1,     1,     2,     2,     4,     1,     3,     1,     2,
   29961             :        3,     6,     4,     0,     2,     6,     2,     1,     3,     4,
   29962             :        0,     2,     0,     2,     0,     2,     4,     0,     1,     0,
   29963             :        1,     3,     3,     7,    12,     1,     3,     2,     3,     3,
   29964             :        1,     2,     2,     2,     2,     1,     2,     1,     3,     3,
   29965             :        2,    13,     2,     0,     1,     3,     3,     6,     7,     5,
   29966             :        7,     9,     1,     0,     2,     0,     2,     3,     5,     6,
   29967             :        2,     3,     3,     4,     0,     1,     1,     1,     1,     1,
   29968             :        2,     4,     1,     1,     1,     1,     1,     1,     2,     3,
   29969             :        3,     0,     1,     1,     1,     1,     1,     2,     2,     2,
   29970             :        2,     2,     1,     3,     0,     1,     1,     1,     1,     5,
   29971             :        2,     1,     1,     1,     1,     4,     1,     2,     2,     1,
   29972             :        3,     3,     2,     1,     0,     5,     2,     5,     2,     1,
   29973             :        3,     3,     0,     1,     1,     1,     1,     1,     1,     3,
   29974             :        3,     3,     3,     3,     3,     3,     0,     1,     4,     1,
   29975             :        1,     3,     3,     5,     3,     2,     2,     3,     3,     3,
   29976             :        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
   29977             :        2,     3,     3,     2,     2,     3,     5,     4,     6,     3,
   29978             :        5,     4,     6,     4,     6,     5,     7,     3,     2,     4,
   29979             :        2,     3,     3,     4,     3,     4,     3,     4,     5,     6,
   29980             :        6,     7,     6,     7,     3,     4,     4,     6,     3,     3,
   29981             :        4,     3,     4,     4,     5,     4,     5,     1,     1,     3,
   29982             :        2,     2,     3,     3,     3,     3,     3,     3,     3,     3,
   29983             :        3,     3,     3,     3,     3,     2,     5,     6,     3,     4,
   29984             :        1,     1,     2,     4,     1,     1,     1,     2,     2,     2,
   29985             :        2,     1,     1,     4,     3,     5,     6,     8,     6,     6,
   29986             :        4,     4,     3,     1,     1,     1,     1,     5,     1,     1,
   29987             :        4,     1,     4,     1,     4,     1,     4,     1,     1,     1,
   29988             :        1,     1,     1,     1,     6,     4,     4,     6,     4,     4,
   29989             :        4,     4,     4,     6,     5,     5,     5,     4,     6,     4,
   29990             :        4,     4,     4,     5,     7,     7,     9,     5,     4,     6,
   29991             :        5,     7,     7,     8,     4,     7,     4,     6,     6,     4,
   29992             :        5,     4,     5,     3,    11,     8,     9,     2,     3,     3,
   29993             :        3,     4,     0,     4,     1,     3,     3,     1,     1,     1,
   29994             :        1,     2,     0,     2,     2,     0,     2,     3,     3,     4,
   29995             :        2,     2,     5,     0,     5,     0,     2,     0,     1,     3,
   29996             :        3,     2,     2,     0,     6,     1,     0,     3,     0,     3,
   29997             :        3,     3,     0,     1,     4,     2,     2,     2,     2,     2,
   29998             :        3,     2,     2,     3,     0,     4,     3,     5,     4,     3,
   29999             :        5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30000             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
   30001             :        1,     4,     1,     4,     1,     2,     1,     2,     1,     3,
   30002             :        1,     3,     1,     3,     3,     1,     0,     1,     3,     3,
   30003             :        3,     2,     1,     3,     3,     1,     1,     1,     1,     1,
   30004             :        1,     1,     1,     1,     1,     1,     1,     7,     5,     3,
   30005             :        5,     5,     3,     3,     5,     3,     2,     1,     1,     3,
   30006             :        5,     1,     2,     4,     2,     0,     1,     0,     1,     2,
   30007             :        2,     2,     3,     5,     1,     0,     1,     2,     0,     2,
   30008             :        1,     0,     2,     0,     1,     3,     3,     2,     3,     2,
   30009             :        3,     4,     4,     3,     3,     0,     2,     1,     1,     1,
   30010             :        1,     1,     1,     2,     2,     1,     3,     3,     6,     0,
   30011             :        3,     0,     2,     4,     2,     1,     0,     5,     2,     5,
   30012             :        2,     0,     3,     0,     1,     2,     2,     2,     2,     3,
   30013             :        2,     3,     2,     0,     1,     3,     3,     3,     3,     3,
   30014             :        0,     3,     3,     0,     1,     3,     7,     7,     3,     0,
   30015             :        1,     0,     1,     3,     3,     2,     1,     1,     1,     3,
   30016             :        1,     2,     1,     3,     1,     1,     1,     1,     2,     1,
   30017             :        1,     1,     1,     1,     2,     6,     2,     3,     5,     1,
   30018             :        1,     1,     1,     1,     1,     2,     2,     1,     1,     1,
   30019             :        1,     1,     1,     3,    10,     4,     1,     1,     1,     1,
   30020             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30021             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30022             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30023             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30024             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30025             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30026             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30027             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30028             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30029             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30030             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30031             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30032             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30033             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30034             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30035             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30036             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30037             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30038             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30039             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30040             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30041             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30042             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30043             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30044             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30045             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30046             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30047             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30048             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30049             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30050             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30051             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30052             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30053             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30054             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30055             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30056             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30057             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30058             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30059             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30060             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30061             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30062             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30063             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30064             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30065             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30066             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30067             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30068             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30069             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30070             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30071             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30072             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30073             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30074             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30075             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30076             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30077             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30078             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30079             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30080             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30081             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30082             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30083             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30084             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30085             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30086             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30087             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30088             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30089             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30090             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30091             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30092             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30093             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30094             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30095             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30096             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30097             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30098             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30099             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30100             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30101             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30102             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30103             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30104             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30105             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30106             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30107             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30108             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30109             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30110             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30111             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30112             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30113             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30114             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30115             :        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
   30116             :        1,     1,     1,     1,     1,     1
   30117             : };
   30118             : 
   30119             : 
   30120             : enum { YYENOMEM = -2 };
   30121             : 
   30122             : #define yyerrok         (yyerrstatus = 0)
   30123             : #define yyclearin       (yychar = YYEMPTY)
   30124             : 
   30125             : #define YYACCEPT        goto yyacceptlab
   30126             : #define YYABORT         goto yyabortlab
   30127             : #define YYERROR         goto yyerrorlab
   30128             : #define YYNOMEM         goto yyexhaustedlab
   30129             : 
   30130             : 
   30131             : #define YYRECOVERING()  (!!yyerrstatus)
   30132             : 
   30133             : #define YYBACKUP(Token, Value)                                    \
   30134             :   do                                                              \
   30135             :     if (yychar == YYEMPTY)                                        \
   30136             :       {                                                           \
   30137             :         yychar = (Token);                                         \
   30138             :         yylval = (Value);                                         \
   30139             :         YYPOPSTACK (yylen);                                       \
   30140             :         yystate = *yyssp;                                         \
   30141             :         goto yybackup;                                            \
   30142             :       }                                                           \
   30143             :     else                                                          \
   30144             :       {                                                           \
   30145             :         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
   30146             :         YYERROR;                                                  \
   30147             :       }                                                           \
   30148             :   while (0)
   30149             : 
   30150             : /* Backward compatibility with an undocumented macro.
   30151             :    Use YYerror or YYUNDEF. */
   30152             : #define YYERRCODE YYUNDEF
   30153             : 
   30154             : /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
   30155             :    If N is 0, then set CURRENT to the empty location which ends
   30156             :    the previous symbol: RHS[0] (always defined).  */
   30157             : 
   30158             : #ifndef YYLLOC_DEFAULT
   30159             : # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
   30160             :     do                                                                  \
   30161             :       if (N)                                                            \
   30162             :         {                                                               \
   30163             :           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
   30164             :           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
   30165             :           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
   30166             :           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
   30167             :         }                                                               \
   30168             :       else                                                              \
   30169             :         {                                                               \
   30170             :           (Current).first_line   = (Current).last_line   =              \
   30171             :             YYRHSLOC (Rhs, 0).last_line;                                \
   30172             :           (Current).first_column = (Current).last_column =              \
   30173             :             YYRHSLOC (Rhs, 0).last_column;                              \
   30174             :         }                                                               \
   30175             :     while (0)
   30176             : #endif
   30177             : 
   30178             : #define YYRHSLOC(Rhs, K) ((Rhs)[K])
   30179             : 
   30180             : 
   30181             : /* Enable debugging if requested.  */
   30182             : #if YYDEBUG
   30183             : 
   30184             : # ifndef YYFPRINTF
   30185             : #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
   30186             : #  define YYFPRINTF fprintf
   30187             : # endif
   30188             : 
   30189             : # define YYDPRINTF(Args)                        \
   30190             : do {                                            \
   30191             :   if (yydebug)                                  \
   30192             :     YYFPRINTF Args;                             \
   30193             : } while (0)
   30194             : 
   30195             : 
   30196             : /* YYLOCATION_PRINT -- Print the location on the stream.
   30197             :    This macro was not mandated originally: define only if we know
   30198             :    we won't break user code: when these are the locations we know.  */
   30199             : 
   30200             : # ifndef YYLOCATION_PRINT
   30201             : 
   30202             : #  if defined YY_LOCATION_PRINT
   30203             : 
   30204             :    /* Temporary convenience wrapper in case some people defined the
   30205             :       undocumented and private YY_LOCATION_PRINT macros.  */
   30206             : #   define YYLOCATION_PRINT(File, Loc)  YY_LOCATION_PRINT(File, *(Loc))
   30207             : 
   30208             : #  elif defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30209             : 
   30210             : /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
   30211             : 
   30212             : YY_ATTRIBUTE_UNUSED
   30213             : static int
   30214             : yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
   30215             : {
   30216             :   int res = 0;
   30217             :   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
   30218             :   if (0 <= yylocp->first_line)
   30219             :     {
   30220             :       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
   30221             :       if (0 <= yylocp->first_column)
   30222             :         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
   30223             :     }
   30224             :   if (0 <= yylocp->last_line)
   30225             :     {
   30226             :       if (yylocp->first_line < yylocp->last_line)
   30227             :         {
   30228             :           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
   30229             :           if (0 <= end_col)
   30230             :             res += YYFPRINTF (yyo, ".%d", end_col);
   30231             :         }
   30232             :       else if (0 <= end_col && yylocp->first_column < end_col)
   30233             :         res += YYFPRINTF (yyo, "-%d", end_col);
   30234             :     }
   30235             :   return res;
   30236             : }
   30237             : 
   30238             : #   define YYLOCATION_PRINT  yy_location_print_
   30239             : 
   30240             :     /* Temporary convenience wrapper in case some people defined the
   30241             :        undocumented and private YY_LOCATION_PRINT macros.  */
   30242             : #   define YY_LOCATION_PRINT(File, Loc)  YYLOCATION_PRINT(File, &(Loc))
   30243             : 
   30244             : #  else
   30245             : 
   30246             : #   define YYLOCATION_PRINT(File, Loc) ((void) 0)
   30247             :     /* Temporary convenience wrapper in case some people defined the
   30248             :        undocumented and private YY_LOCATION_PRINT macros.  */
   30249             : #   define YY_LOCATION_PRINT  YYLOCATION_PRINT
   30250             : 
   30251             : #  endif
   30252             : # endif /* !defined YYLOCATION_PRINT */
   30253             : 
   30254             : 
   30255             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)                    \
   30256             : do {                                                                      \
   30257             :   if (yydebug)                                                            \
   30258             :     {                                                                     \
   30259             :       YYFPRINTF (stderr, "%s ", Title);                                   \
   30260             :       yy_symbol_print (stderr,                                            \
   30261             :                   Kind, Value, Location, yyscanner); \
   30262             :       YYFPRINTF (stderr, "\n");                                           \
   30263             :     }                                                                     \
   30264             : } while (0)
   30265             : 
   30266             : 
   30267             : /*-----------------------------------.
   30268             : | Print this symbol's value on YYO.  |
   30269             : `-----------------------------------*/
   30270             : 
   30271             : static void
   30272             : yy_symbol_value_print (FILE *yyo,
   30273             :                        yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30274             : {
   30275             :   FILE *yyoutput = yyo;
   30276             :   YY_USE (yyoutput);
   30277             :   YY_USE (yylocationp);
   30278             :   YY_USE (yyscanner);
   30279             :   if (!yyvaluep)
   30280             :     return;
   30281             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30282             :   YY_USE (yykind);
   30283             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30284             : }
   30285             : 
   30286             : 
   30287             : /*---------------------------.
   30288             : | Print this symbol on YYO.  |
   30289             : `---------------------------*/
   30290             : 
   30291             : static void
   30292             : yy_symbol_print (FILE *yyo,
   30293             :                  yysymbol_kind_t yykind, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
   30294             : {
   30295             :   YYFPRINTF (yyo, "%s %s (",
   30296             :              yykind < YYNTOKENS ? "token" : "nterm", yysymbol_name (yykind));
   30297             : 
   30298             :   YYLOCATION_PRINT (yyo, yylocationp);
   30299             :   YYFPRINTF (yyo, ": ");
   30300             :   yy_symbol_value_print (yyo, yykind, yyvaluep, yylocationp, yyscanner);
   30301             :   YYFPRINTF (yyo, ")");
   30302             : }
   30303             : 
   30304             : /*------------------------------------------------------------------.
   30305             : | yy_stack_print -- Print the state stack from its BOTTOM up to its |
   30306             : | TOP (included).                                                   |
   30307             : `------------------------------------------------------------------*/
   30308             : 
   30309             : static void
   30310             : yy_stack_print (yy_state_t *yybottom, yy_state_t *yytop)
   30311             : {
   30312             :   YYFPRINTF (stderr, "Stack now");
   30313             :   for (; yybottom <= yytop; yybottom++)
   30314             :     {
   30315             :       int yybot = *yybottom;
   30316             :       YYFPRINTF (stderr, " %d", yybot);
   30317             :     }
   30318             :   YYFPRINTF (stderr, "\n");
   30319             : }
   30320             : 
   30321             : # define YY_STACK_PRINT(Bottom, Top)                            \
   30322             : do {                                                            \
   30323             :   if (yydebug)                                                  \
   30324             :     yy_stack_print ((Bottom), (Top));                           \
   30325             : } while (0)
   30326             : 
   30327             : 
   30328             : /*------------------------------------------------.
   30329             : | Report that the YYRULE is going to be reduced.  |
   30330             : `------------------------------------------------*/
   30331             : 
   30332             : static void
   30333             : yy_reduce_print (yy_state_t *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp,
   30334             :                  int yyrule, core_yyscan_t yyscanner)
   30335             : {
   30336             :   int yylno = yyrline[yyrule];
   30337             :   int yynrhs = yyr2[yyrule];
   30338             :   int yyi;
   30339             :   YYFPRINTF (stderr, "Reducing stack by rule %d (line %d):\n",
   30340             :              yyrule - 1, yylno);
   30341             :   /* The symbols being reduced.  */
   30342             :   for (yyi = 0; yyi < yynrhs; yyi++)
   30343             :     {
   30344             :       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
   30345             :       yy_symbol_print (stderr,
   30346             :                        YY_ACCESSING_SYMBOL (+yyssp[yyi + 1 - yynrhs]),
   30347             :                        &yyvsp[(yyi + 1) - (yynrhs)],
   30348             :                        &(yylsp[(yyi + 1) - (yynrhs)]), yyscanner);
   30349             :       YYFPRINTF (stderr, "\n");
   30350             :     }
   30351             : }
   30352             : 
   30353             : # define YY_REDUCE_PRINT(Rule)          \
   30354             : do {                                    \
   30355             :   if (yydebug)                          \
   30356             :     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
   30357             : } while (0)
   30358             : 
   30359             : /* Nonzero means print parse trace.  It is left uninitialized so that
   30360             :    multiple parsers can coexist.  */
   30361             : int yydebug;
   30362             : #else /* !YYDEBUG */
   30363             : # define YYDPRINTF(Args) ((void) 0)
   30364             : # define YY_SYMBOL_PRINT(Title, Kind, Value, Location)
   30365             : # define YY_STACK_PRINT(Bottom, Top)
   30366             : # define YY_REDUCE_PRINT(Rule)
   30367             : #endif /* !YYDEBUG */
   30368             : 
   30369             : 
   30370             : /* YYINITDEPTH -- initial size of the parser's stacks.  */
   30371             : #ifndef YYINITDEPTH
   30372             : # define YYINITDEPTH 200
   30373             : #endif
   30374             : 
   30375             : /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
   30376             :    if the built-in stack extension method is used).
   30377             : 
   30378             :    Do not make this value too large; the results are undefined if
   30379             :    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
   30380             :    evaluated with infinite-precision integer arithmetic.  */
   30381             : 
   30382             : #ifndef YYMAXDEPTH
   30383             : # define YYMAXDEPTH 10000
   30384             : #endif
   30385             : 
   30386             : 
   30387             : 
   30388             : 
   30389             : 
   30390             : 
   30391             : /*-----------------------------------------------.
   30392             : | Release the memory associated to this symbol.  |
   30393             : `-----------------------------------------------*/
   30394             : 
   30395             : static void
   30396     1566892 : yydestruct (const char *yymsg,
   30397             :             yysymbol_kind_t yykind, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
   30398             : {
   30399             :   YY_USE (yyvaluep);
   30400             :   YY_USE (yylocationp);
   30401             :   YY_USE (yyscanner);
   30402     1566892 :   if (!yymsg)
   30403           0 :     yymsg = "Deleting";
   30404             :   YY_SYMBOL_PRINT (yymsg, yykind, yyvaluep, yylocationp);
   30405             : 
   30406             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30407             :   YY_USE (yykind);
   30408             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30409     1566892 : }
   30410             : 
   30411             : 
   30412             : 
   30413             : 
   30414             : 
   30415             : 
   30416             : /*----------.
   30417             : | yyparse.  |
   30418             : `----------*/
   30419             : 
   30420             : int
   30421      784660 : yyparse (core_yyscan_t yyscanner)
   30422             : {
   30423             : /* Lookahead token kind.  */
   30424             : int yychar;
   30425             : 
   30426             : 
   30427             : /* The semantic value of the lookahead symbol.  */
   30428             : /* Default value used for initialization, for pacifying older GCCs
   30429             :    or non-GCC compilers.  */
   30430             : YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
   30431             : YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
   30432             : 
   30433             : /* Location data for the lookahead symbol.  */
   30434             : static YYLTYPE yyloc_default
   30435             : # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
   30436             :   = { 1, 1, 1, 1 }
   30437             : # endif
   30438             : ;
   30439      784660 : YYLTYPE yylloc = yyloc_default;
   30440             : 
   30441             :     /* Number of syntax errors so far.  */
   30442      784660 :     int yynerrs = 0;
   30443             : 
   30444      784660 :     yy_state_fast_t yystate = 0;
   30445             :     /* Number of tokens to shift before error messages enabled.  */
   30446      784660 :     int yyerrstatus = 0;
   30447             : 
   30448             :     /* Refer to the stacks through separate pointers, to allow yyoverflow
   30449             :        to reallocate them elsewhere.  */
   30450             : 
   30451             :     /* Their size.  */
   30452      784660 :     YYPTRDIFF_T yystacksize = YYINITDEPTH;
   30453             : 
   30454             :     /* The state stack: array, bottom, top.  */
   30455             :     yy_state_t yyssa[YYINITDEPTH];
   30456      784660 :     yy_state_t *yyss = yyssa;
   30457      784660 :     yy_state_t *yyssp = yyss;
   30458             : 
   30459             :     /* The semantic value stack: array, bottom, top.  */
   30460             :     YYSTYPE yyvsa[YYINITDEPTH];
   30461      784660 :     YYSTYPE *yyvs = yyvsa;
   30462      784660 :     YYSTYPE *yyvsp = yyvs;
   30463             : 
   30464             :     /* The location stack: array, bottom, top.  */
   30465             :     YYLTYPE yylsa[YYINITDEPTH];
   30466      784660 :     YYLTYPE *yyls = yylsa;
   30467      784660 :     YYLTYPE *yylsp = yyls;
   30468             : 
   30469             :   int yyn;
   30470             :   /* The return value of yyparse.  */
   30471             :   int yyresult;
   30472             :   /* Lookahead symbol kind.  */
   30473      784660 :   yysymbol_kind_t yytoken = YYSYMBOL_YYEMPTY;
   30474             :   /* The variables used to return semantic value and location from the
   30475             :      action routines.  */
   30476             :   YYSTYPE yyval;
   30477             :   YYLTYPE yyloc;
   30478             : 
   30479             :   /* The locations where the error started and ended.  */
   30480             :   YYLTYPE yyerror_range[3];
   30481             : 
   30482             : 
   30483             : 
   30484             : #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
   30485             : 
   30486             :   /* The number of symbols on the RHS of the reduced rule.
   30487             :      Keep to zero when no symbol should be popped.  */
   30488      784660 :   int yylen = 0;
   30489             : 
   30490             :   YYDPRINTF ((stderr, "Starting parse\n"));
   30491             : 
   30492      784660 :   yychar = YYEMPTY; /* Cause a token to be read.  */
   30493             : 
   30494      784660 :   yylsp[0] = yylloc;
   30495      784660 :   goto yysetstate;
   30496             : 
   30497             : 
   30498             : /*------------------------------------------------------------.
   30499             : | yynewstate -- push a new state, which is found in yystate.  |
   30500             : `------------------------------------------------------------*/
   30501    73407840 : yynewstate:
   30502             :   /* In all cases, when you get here, the value and location stacks
   30503             :      have just been pushed.  So pushing a state here evens the stacks.  */
   30504    73407840 :   yyssp++;
   30505             : 
   30506             : 
   30507             : /*--------------------------------------------------------------------.
   30508             : | yysetstate -- set current state (the top of the stack) to yystate.  |
   30509             : `--------------------------------------------------------------------*/
   30510    74192500 : yysetstate:
   30511             :   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
   30512             :   YY_ASSERT (0 <= yystate && yystate < YYNSTATES);
   30513             :   YY_IGNORE_USELESS_CAST_BEGIN
   30514    74192500 :   *yyssp = YY_CAST (yy_state_t, yystate);
   30515             :   YY_IGNORE_USELESS_CAST_END
   30516             :   YY_STACK_PRINT (yyss, yyssp);
   30517             : 
   30518    74192500 :   if (yyss + yystacksize - 1 <= yyssp)
   30519             : #if !defined yyoverflow && !defined YYSTACK_RELOCATE
   30520             :     YYNOMEM;
   30521             : #else
   30522             :     {
   30523             :       /* Get the current used size of the three stacks, in elements.  */
   30524           0 :       YYPTRDIFF_T yysize = yyssp - yyss + 1;
   30525             : 
   30526             : # if defined yyoverflow
   30527             :       {
   30528             :         /* Give user a chance to reallocate the stack.  Use copies of
   30529             :            these so that the &'s don't force the real ones into
   30530             :            memory.  */
   30531             :         yy_state_t *yyss1 = yyss;
   30532             :         YYSTYPE *yyvs1 = yyvs;
   30533             :         YYLTYPE *yyls1 = yyls;
   30534             : 
   30535             :         /* Each stack pointer address is followed by the size of the
   30536             :            data in use in that stack, in bytes.  This used to be a
   30537             :            conditional around just the two extra args, but that might
   30538             :            be undefined if yyoverflow is a macro.  */
   30539             :         yyoverflow (YY_("memory exhausted"),
   30540             :                     &yyss1, yysize * YYSIZEOF (*yyssp),
   30541             :                     &yyvs1, yysize * YYSIZEOF (*yyvsp),
   30542             :                     &yyls1, yysize * YYSIZEOF (*yylsp),
   30543             :                     &yystacksize);
   30544             :         yyss = yyss1;
   30545             :         yyvs = yyvs1;
   30546             :         yyls = yyls1;
   30547             :       }
   30548             : # else /* defined YYSTACK_RELOCATE */
   30549             :       /* Extend the stack our own way.  */
   30550           0 :       if (YYMAXDEPTH <= yystacksize)
   30551           0 :         YYNOMEM;
   30552           0 :       yystacksize *= 2;
   30553           0 :       if (YYMAXDEPTH < yystacksize)
   30554           0 :         yystacksize = YYMAXDEPTH;
   30555             : 
   30556             :       {
   30557           0 :         yy_state_t *yyss1 = yyss;
   30558             :         union yyalloc *yyptr =
   30559           0 :           YY_CAST (union yyalloc *,
   30560             :                    YYSTACK_ALLOC (YY_CAST (YYSIZE_T, YYSTACK_BYTES (yystacksize))));
   30561           0 :         if (! yyptr)
   30562           0 :           YYNOMEM;
   30563           0 :         YYSTACK_RELOCATE (yyss_alloc, yyss);
   30564           0 :         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
   30565           0 :         YYSTACK_RELOCATE (yyls_alloc, yyls);
   30566             : #  undef YYSTACK_RELOCATE
   30567           0 :         if (yyss1 != yyssa)
   30568           0 :           YYSTACK_FREE (yyss1);
   30569             :       }
   30570             : # endif
   30571             : 
   30572           0 :       yyssp = yyss + yysize - 1;
   30573           0 :       yyvsp = yyvs + yysize - 1;
   30574           0 :       yylsp = yyls + yysize - 1;
   30575             : 
   30576             :       YY_IGNORE_USELESS_CAST_BEGIN
   30577             :       YYDPRINTF ((stderr, "Stack size increased to %ld\n",
   30578             :                   YY_CAST (long, yystacksize)));
   30579             :       YY_IGNORE_USELESS_CAST_END
   30580             : 
   30581           0 :       if (yyss + yystacksize - 1 <= yyssp)
   30582           0 :         YYABORT;
   30583             :     }
   30584             : #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
   30585             : 
   30586             : 
   30587    74192500 :   if (yystate == YYFINAL)
   30588      783448 :     YYACCEPT;
   30589             : 
   30590    73409052 :   goto yybackup;
   30591             : 
   30592             : 
   30593             : /*-----------.
   30594             : | yybackup.  |
   30595             : `-----------*/
   30596    73409052 : yybackup:
   30597             :   /* Do appropriate processing given the current state.  Read a
   30598             :      lookahead token if we need one and don't already have one.  */
   30599             : 
   30600             :   /* First try to decide what to do without reference to lookahead token.  */
   30601    73409052 :   yyn = yypact[yystate];
   30602    73409052 :   if (yypact_value_is_default (yyn))
   30603    31773252 :     goto yydefault;
   30604             : 
   30605             :   /* Not known => get a lookahead token if don't already have one.  */
   30606             : 
   30607             :   /* YYCHAR is either empty, or end-of-input, or a valid lookahead.  */
   30608    41635800 :   if (yychar == YYEMPTY)
   30609             :     {
   30610             :       YYDPRINTF ((stderr, "Reading a token\n"));
   30611    19894168 :       yychar = yylex (&yylval, &yylloc, yyscanner);
   30612             :     }
   30613             : 
   30614    41635494 :   if (yychar <= YYEOF)
   30615             :     {
   30616     3680656 :       yychar = YYEOF;
   30617     3680656 :       yytoken = YYSYMBOL_YYEOF;
   30618             :       YYDPRINTF ((stderr, "Now at end of input.\n"));
   30619             :     }
   30620    37954838 :   else if (yychar == YYerror)
   30621             :     {
   30622             :       /* The scanner already issued an error message, process directly
   30623             :          to error recovery.  But do not keep the error token as
   30624             :          lookahead, it is too special and may lead us to an endless
   30625             :          loop in error recovery. */
   30626           0 :       yychar = YYUNDEF;
   30627           0 :       yytoken = YYSYMBOL_YYerror;
   30628           0 :       yyerror_range[1] = yylloc;
   30629           0 :       goto yyerrlab1;
   30630             :     }
   30631             :   else
   30632             :     {
   30633    37954838 :       yytoken = YYTRANSLATE (yychar);
   30634             :       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
   30635             :     }
   30636             : 
   30637             :   /* If the proper action on seeing token YYTOKEN is to reduce or to
   30638             :      detect an error, take that action.  */
   30639    41635494 :   yyn += yytoken;
   30640    41635494 :   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
   30641    20532276 :     goto yydefault;
   30642    21103218 :   yyn = yytable[yyn];
   30643    21103218 :   if (yyn <= 0)
   30644             :     {
   30645     1210148 :       if (yytable_value_is_error (yyn))
   30646           0 :         goto yyerrlab;
   30647     1210148 :       yyn = -yyn;
   30648     1210148 :       goto yyreduce;
   30649             :     }
   30650             : 
   30651             :   /* Count tokens shifted since error; after three, turn off error
   30652             :      status.  */
   30653    19893070 :   if (yyerrstatus)
   30654           0 :     yyerrstatus--;
   30655             : 
   30656             :   /* Shift the lookahead token.  */
   30657             :   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
   30658    19893070 :   yystate = yyn;
   30659             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   30660    19893070 :   *++yyvsp = yylval;
   30661             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   30662    19893070 :   *++yylsp = yylloc;
   30663             : 
   30664             :   /* Discard the shifted token.  */
   30665    19893070 :   yychar = YYEMPTY;
   30666    19893070 :   goto yynewstate;
   30667             : 
   30668             : 
   30669             : /*-----------------------------------------------------------.
   30670             : | yydefault -- do the default action for the current state.  |
   30671             : `-----------------------------------------------------------*/
   30672    52305528 : yydefault:
   30673    52305528 :   yyn = yydefact[yystate];
   30674    52305528 :   if (yyn == 0)
   30675         696 :     goto yyerrlab;
   30676    52304832 :   goto yyreduce;
   30677             : 
   30678             : 
   30679             : /*-----------------------------.
   30680             : | yyreduce -- do a reduction.  |
   30681             : `-----------------------------*/
   30682    53514980 : yyreduce:
   30683             :   /* yyn is the number of a rule to reduce with.  */
   30684    53514980 :   yylen = yyr2[yyn];
   30685             : 
   30686             :   /* If YYLEN is nonzero, implement the default value of the action:
   30687             :      '$$ = $1'.
   30688             : 
   30689             :      Otherwise, the following line sets YYVAL to garbage.
   30690             :      This behavior is undocumented and Bison
   30691             :      users should not rely upon it.  Assigning to YYVAL
   30692             :      unconditionally makes the parser a bit smaller, and it avoids a
   30693             :      GCC warning that YYVAL may be used uninitialized.  */
   30694    53514980 :   yyval = yyvsp[1-yylen];
   30695             : 
   30696             :   /* Default location. */
   30697    54325876 :   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
   30698    53514980 :   yyerror_range[1] = yyloc;
   30699             :   YY_REDUCE_PRINT (yyn);
   30700    53514980 :   switch (yyn)
   30701             :     {
   30702      733736 :   case 2: /* parse_toplevel: stmtmulti  */
   30703             : #line 917 "gram.y"
   30704             :                         {
   30705             :                 pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
   30706             :                 (void) yynerrs;     /* suppress compiler warning */
   30707             :             }
   30708             : #line 30709 "gram.c"
   30709      733736 :     break;
   30710             : 
   30711        9636 :   case 3: /* parse_toplevel: MODE_TYPE_NAME Typename  */
   30712             : #line 922 "gram.y"
   30713             :                         {
   30714             :                 pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[0].typnam));
   30715             :             }
   30716             : #line 30717 "gram.c"
   30717        9636 :     break;
   30718             : 
   30719       33128 :   case 4: /* parse_toplevel: MODE_PLPGSQL_EXPR PLpgSQL_Expr  */
   30720             : #line 926 "gram.y"
   30721             :                         {
   30722             :                 pg_yyget_extra(yyscanner)->parsetree =
   30723             :                     list_make1(makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30724             :             }
   30725             : #line 30726 "gram.c"
   30726       33128 :     break;
   30727             : 
   30728        6324 :   case 5: /* parse_toplevel: MODE_PLPGSQL_ASSIGN1 PLAssignStmt  */
   30729             : #line 931 "gram.y"
   30730             :                         {
   30731             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30732             : 
   30733             :                 n->nnames = 1;
   30734             :                 pg_yyget_extra(yyscanner)->parsetree =
   30735             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30736             :             }
   30737             : #line 30738 "gram.c"
   30738        6324 :     break;
   30739             : 
   30740         674 :   case 6: /* parse_toplevel: MODE_PLPGSQL_ASSIGN2 PLAssignStmt  */
   30741             : #line 939 "gram.y"
   30742             :                         {
   30743             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30744             : 
   30745             :                 n->nnames = 2;
   30746             :                 pg_yyget_extra(yyscanner)->parsetree =
   30747             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30748             :             }
   30749             : #line 30750 "gram.c"
   30750         674 :     break;
   30751             : 
   30752          28 :   case 7: /* parse_toplevel: MODE_PLPGSQL_ASSIGN3 PLAssignStmt  */
   30753             : #line 947 "gram.y"
   30754             :                         {
   30755             :                 PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
   30756             : 
   30757             :                 n->nnames = 3;
   30758             :                 pg_yyget_extra(yyscanner)->parsetree =
   30759             :                     list_make1(makeRawStmt((Node *) n, (yylsp[0])));
   30760             :             }
   30761             : #line 30762 "gram.c"
   30762          28 :     break;
   30763             : 
   30764      583436 :   case 8: /* stmtmulti: stmtmulti ';' toplevel_stmt  */
   30765             : #line 963 "gram.y"
   30766             :                                 {
   30767             :                     if ((yyvsp[-2].list) != NIL)
   30768             :                     {
   30769             :                         /* update length of previous stmt */
   30770             :                         updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
   30771             :                     }
   30772             :                     if ((yyvsp[0].node) != NULL)
   30773             :                         (yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30774             :                     else
   30775             :                         (yyval.list) = (yyvsp[-2].list);
   30776             :                 }
   30777             : #line 30778 "gram.c"
   30778      583436 :     break;
   30779             : 
   30780      733744 :   case 9: /* stmtmulti: toplevel_stmt  */
   30781             : #line 975 "gram.y"
   30782             :                                 {
   30783             :                     if ((yyvsp[0].node) != NULL)
   30784             :                         (yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), (yylsp[0])));
   30785             :                     else
   30786             :                         (yyval.list) = NIL;
   30787             :                 }
   30788             : #line 30789 "gram.c"
   30789      733744 :     break;
   30790             : 
   30791      529650 :   case 136: /* stmt: %empty  */
   30792             : #line 1118 "gram.y"
   30793             :                                 { (yyval.node) = NULL; }
   30794             : #line 30795 "gram.c"
   30795      529650 :     break;
   30796             : 
   30797        5580 :   case 137: /* opt_single_name: ColId  */
   30798             : #line 1125 "gram.y"
   30799             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   30800             : #line 30801 "gram.c"
   30801        5580 :     break;
   30802             : 
   30803        1516 :   case 138: /* opt_single_name: %empty  */
   30804             : #line 1126 "gram.y"
   30805             :                                                                         { (yyval.str) = NULL; }
   30806             : #line 30807 "gram.c"
   30807        1516 :     break;
   30808             : 
   30809        1900 :   case 139: /* opt_qualified_name: any_name  */
   30810             : #line 1130 "gram.y"
   30811             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   30812             : #line 30813 "gram.c"
   30813        1900 :     break;
   30814             : 
   30815       15632 :   case 140: /* opt_qualified_name: %empty  */
   30816             : #line 1131 "gram.y"
   30817             :                                                                                 { (yyval.list) = NIL; }
   30818             : #line 30819 "gram.c"
   30819       15632 :     break;
   30820             : 
   30821        1024 :   case 141: /* opt_concurrently: CONCURRENTLY  */
   30822             : #line 1135 "gram.y"
   30823             :                                                                         { (yyval.boolean) = true; }
   30824             : #line 30825 "gram.c"
   30825        1024 :     break;
   30826             : 
   30827        7828 :   case 142: /* opt_concurrently: %empty  */
   30828             : #line 1136 "gram.y"
   30829             :                                                                                 { (yyval.boolean) = false; }
   30830             : #line 30831 "gram.c"
   30831        7828 :     break;
   30832             : 
   30833        1958 :   case 143: /* opt_drop_behavior: CASCADE  */
   30834             : #line 1140 "gram.y"
   30835             :                                                                                 { (yyval.dbehavior) = DROP_CASCADE; }
   30836             : #line 30837 "gram.c"
   30837        1958 :     break;
   30838             : 
   30839         170 :   case 144: /* opt_drop_behavior: RESTRICT  */
   30840             : #line 1141 "gram.y"
   30841             :                                                                                 { (yyval.dbehavior) = DROP_RESTRICT; }
   30842             : #line 30843 "gram.c"
   30843         170 :     break;
   30844             : 
   30845       39564 :   case 145: /* opt_drop_behavior: %empty  */
   30846             : #line 1142 "gram.y"
   30847             :                                                                         { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
   30848             : #line 30849 "gram.c"
   30849       39564 :     break;
   30850             : 
   30851         620 :   case 146: /* CallStmt: CALL func_application  */
   30852             : #line 1152 "gram.y"
   30853             :                                 {
   30854             :                     CallStmt   *n = makeNode(CallStmt);
   30855             : 
   30856             :                     n->funccall = castNode(FuncCall, (yyvsp[0].node));
   30857             :                     (yyval.node) = (Node *) n;
   30858             :                 }
   30859             : #line 30860 "gram.c"
   30860         620 :     break;
   30861             : 
   30862        1364 :   case 147: /* CreateRoleStmt: CREATE ROLE RoleId opt_with OptRoleList  */
   30863             : #line 1168 "gram.y"
   30864             :                                 {
   30865             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   30866             : 
   30867             :                     n->stmt_type = ROLESTMT_ROLE;
   30868             :                     n->role = (yyvsp[-2].str);
   30869             :                     n->options = (yyvsp[0].list);
   30870             :                     (yyval.node) = (Node *) n;
   30871             :                 }
   30872             : #line 30873 "gram.c"
   30873        1364 :     break;
   30874             : 
   30875        1182 :   case 151: /* OptRoleList: OptRoleList CreateOptRoleElem  */
   30876             : #line 1190 "gram.y"
   30877             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   30878             : #line 30879 "gram.c"
   30879        1182 :     break;
   30880             : 
   30881        1844 :   case 152: /* OptRoleList: %empty  */
   30882             : #line 1191 "gram.y"
   30883             :                                                                                         { (yyval.list) = NIL; }
   30884             : #line 30885 "gram.c"
   30885        1844 :     break;
   30886             : 
   30887         658 :   case 153: /* AlterOptRoleList: AlterOptRoleList AlterOptRoleElem  */
   30888             : #line 1195 "gram.y"
   30889             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   30890             : #line 30891 "gram.c"
   30891         658 :     break;
   30892             : 
   30893         418 :   case 154: /* AlterOptRoleList: %empty  */
   30894             : #line 1196 "gram.y"
   30895             :                                                                                         { (yyval.list) = NIL; }
   30896             : #line 30897 "gram.c"
   30897         418 :     break;
   30898             : 
   30899         188 :   case 155: /* AlterOptRoleElem: PASSWORD Sconst  */
   30900             : #line 1201 "gram.y"
   30901             :                                 {
   30902             :                     (yyval.defelt) = makeDefElem("password",
   30903             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   30904             :                 }
   30905             : #line 30906 "gram.c"
   30906         188 :     break;
   30907             : 
   30908          12 :   case 156: /* AlterOptRoleElem: PASSWORD NULL_P  */
   30909             : #line 1206 "gram.y"
   30910             :                                 {
   30911             :                     (yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
   30912             :                 }
   30913             : #line 30914 "gram.c"
   30914          12 :     break;
   30915             : 
   30916          18 :   case 157: /* AlterOptRoleElem: ENCRYPTED PASSWORD Sconst  */
   30917             : #line 1210 "gram.y"
   30918             :                                 {
   30919             :                     /*
   30920             :                      * These days, passwords are always stored in encrypted
   30921             :                      * form, so there is no difference between PASSWORD and
   30922             :                      * ENCRYPTED PASSWORD.
   30923             :                      */
   30924             :                     (yyval.defelt) = makeDefElem("password",
   30925             :                                      (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   30926             :                 }
   30927             : #line 30928 "gram.c"
   30928          18 :     break;
   30929             : 
   30930           0 :   case 158: /* AlterOptRoleElem: UNENCRYPTED PASSWORD Sconst  */
   30931             : #line 1220 "gram.y"
   30932             :                                 {
   30933             :                     ereport(ERROR,
   30934             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   30935             :                              errmsg("UNENCRYPTED PASSWORD is no longer supported"),
   30936             :                              errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
   30937             :                              parser_errposition((yylsp[-2]))));
   30938             :                 }
   30939             : #line 30940 "gram.c"
   30940             :     break;
   30941             : 
   30942          94 :   case 159: /* AlterOptRoleElem: INHERIT  */
   30943             : #line 1228 "gram.y"
   30944             :                                 {
   30945             :                     (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(true), (yylsp[0]));
   30946             :                 }
   30947             : #line 30948 "gram.c"
   30948          94 :     break;
   30949             : 
   30950          26 :   case 160: /* AlterOptRoleElem: CONNECTION LIMIT SignedIconst  */
   30951             : #line 1232 "gram.y"
   30952             :                                 {
   30953             :                     (yyval.defelt) = makeDefElem("connectionlimit", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   30954             :                 }
   30955             : #line 30956 "gram.c"
   30956          26 :     break;
   30957             : 
   30958           2 :   case 161: /* AlterOptRoleElem: VALID UNTIL Sconst  */
   30959             : #line 1236 "gram.y"
   30960             :                                 {
   30961             :                     (yyval.defelt) = makeDefElem("validUntil", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   30962             :                 }
   30963             : #line 30964 "gram.c"
   30964           2 :     break;
   30965             : 
   30966           6 :   case 162: /* AlterOptRoleElem: USER role_list  */
   30967             : #line 1241 "gram.y"
   30968             :                                 {
   30969             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   30970             :                 }
   30971             : #line 30972 "gram.c"
   30972           6 :     break;
   30973             : 
   30974        1344 :   case 163: /* AlterOptRoleElem: IDENT  */
   30975             : #line 1245 "gram.y"
   30976             :                                 {
   30977             :                     /*
   30978             :                      * We handle identifiers that aren't parser keywords with
   30979             :                      * the following special-case codes, to avoid bloating the
   30980             :                      * size of the main parser.
   30981             :                      */
   30982             :                     if (strcmp((yyvsp[0].str), "superuser") == 0)
   30983             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(true), (yylsp[0]));
   30984             :                     else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
   30985             :                         (yyval.defelt) = makeDefElem("superuser", (Node *) makeBoolean(false), (yylsp[0]));
   30986             :                     else if (strcmp((yyvsp[0].str), "createrole") == 0)
   30987             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(true), (yylsp[0]));
   30988             :                     else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
   30989             :                         (yyval.defelt) = makeDefElem("createrole", (Node *) makeBoolean(false), (yylsp[0]));
   30990             :                     else if (strcmp((yyvsp[0].str), "replication") == 0)
   30991             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(true), (yylsp[0]));
   30992             :                     else if (strcmp((yyvsp[0].str), "noreplication") == 0)
   30993             :                         (yyval.defelt) = makeDefElem("isreplication", (Node *) makeBoolean(false), (yylsp[0]));
   30994             :                     else if (strcmp((yyvsp[0].str), "createdb") == 0)
   30995             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(true), (yylsp[0]));
   30996             :                     else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
   30997             :                         (yyval.defelt) = makeDefElem("createdb", (Node *) makeBoolean(false), (yylsp[0]));
   30998             :                     else if (strcmp((yyvsp[0].str), "login") == 0)
   30999             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(true), (yylsp[0]));
   31000             :                     else if (strcmp((yyvsp[0].str), "nologin") == 0)
   31001             :                         (yyval.defelt) = makeDefElem("canlogin", (Node *) makeBoolean(false), (yylsp[0]));
   31002             :                     else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
   31003             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(true), (yylsp[0]));
   31004             :                     else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
   31005             :                         (yyval.defelt) = makeDefElem("bypassrls", (Node *) makeBoolean(false), (yylsp[0]));
   31006             :                     else if (strcmp((yyvsp[0].str), "noinherit") == 0)
   31007             :                     {
   31008             :                         /*
   31009             :                          * Note that INHERIT is a keyword, so it's handled by main parser, but
   31010             :                          * NOINHERIT is handled here.
   31011             :                          */
   31012             :                         (yyval.defelt) = makeDefElem("inherit", (Node *) makeBoolean(false), (yylsp[0]));
   31013             :                     }
   31014             :                     else
   31015             :                         ereport(ERROR,
   31016             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   31017             :                                  errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
   31018             :                                      parser_errposition((yylsp[0]))));
   31019             :                 }
   31020             : #line 31021 "gram.c"
   31021        1344 :     break;
   31022             : 
   31023        1032 :   case 164: /* CreateOptRoleElem: AlterOptRoleElem  */
   31024             : #line 1292 "gram.y"
   31025             :                                                                 { (yyval.defelt) = (yyvsp[0].defelt); }
   31026             : #line 31027 "gram.c"
   31027        1032 :     break;
   31028             : 
   31029           6 :   case 165: /* CreateOptRoleElem: SYSID Iconst  */
   31030             : #line 1295 "gram.y"
   31031             :                                 {
   31032             :                     (yyval.defelt) = makeDefElem("sysid", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   31033             :                 }
   31034             : #line 31035 "gram.c"
   31035           6 :     break;
   31036             : 
   31037          22 :   case 166: /* CreateOptRoleElem: ADMIN role_list  */
   31038             : #line 1299 "gram.y"
   31039             :                                 {
   31040             :                     (yyval.defelt) = makeDefElem("adminmembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31041             :                 }
   31042             : #line 31043 "gram.c"
   31043          22 :     break;
   31044             : 
   31045          22 :   case 167: /* CreateOptRoleElem: ROLE role_list  */
   31046             : #line 1303 "gram.y"
   31047             :                                 {
   31048             :                     (yyval.defelt) = makeDefElem("rolemembers", (Node *) (yyvsp[0].list), (yylsp[-1]));
   31049             :                 }
   31050             : #line 31051 "gram.c"
   31051          22 :     break;
   31052             : 
   31053         100 :   case 168: /* CreateOptRoleElem: IN_P ROLE role_list  */
   31054             : #line 1307 "gram.y"
   31055             :                                 {
   31056             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31057             :                 }
   31058             : #line 31059 "gram.c"
   31059         100 :     break;
   31060             : 
   31061           0 :   case 169: /* CreateOptRoleElem: IN_P GROUP_P role_list  */
   31062             : #line 1311 "gram.y"
   31063             :                                 {
   31064             :                     (yyval.defelt) = makeDefElem("addroleto", (Node *) (yyvsp[0].list), (yylsp[-2]));
   31065             :                 }
   31066             : #line 31067 "gram.c"
   31067           0 :     break;
   31068             : 
   31069         456 :   case 170: /* CreateUserStmt: CREATE USER RoleId opt_with OptRoleList  */
   31070             : #line 1325 "gram.y"
   31071             :                                 {
   31072             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31073             : 
   31074             :                     n->stmt_type = ROLESTMT_USER;
   31075             :                     n->role = (yyvsp[-2].str);
   31076             :                     n->options = (yyvsp[0].list);
   31077             :                     (yyval.node) = (Node *) n;
   31078             :                 }
   31079             : #line 31080 "gram.c"
   31080         456 :     break;
   31081             : 
   31082         326 :   case 171: /* AlterRoleStmt: ALTER ROLE RoleSpec opt_with AlterOptRoleList  */
   31083             : #line 1344 "gram.y"
   31084             :                                  {
   31085             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31086             : 
   31087             :                     n->role = (yyvsp[-2].rolespec);
   31088             :                     n->action = +1;  /* add, if there are members */
   31089             :                     n->options = (yyvsp[0].list);
   31090             :                     (yyval.node) = (Node *) n;
   31091             :                  }
   31092             : #line 31093 "gram.c"
   31093         326 :     break;
   31094             : 
   31095          92 :   case 172: /* AlterRoleStmt: ALTER USER RoleSpec opt_with AlterOptRoleList  */
   31096             : #line 1353 "gram.y"
   31097             :                                  {
   31098             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31099             : 
   31100             :                     n->role = (yyvsp[-2].rolespec);
   31101             :                     n->action = +1;  /* add, if there are members */
   31102             :                     n->options = (yyvsp[0].list);
   31103             :                     (yyval.node) = (Node *) n;
   31104             :                  }
   31105             : #line 31106 "gram.c"
   31106          92 :     break;
   31107             : 
   31108          86 :   case 173: /* opt_in_database: %empty  */
   31109             : #line 1364 "gram.y"
   31110             :                                                                         { (yyval.str) = NULL; }
   31111             : #line 31112 "gram.c"
   31112          86 :     break;
   31113             : 
   31114           0 :   case 174: /* opt_in_database: IN_P DATABASE name  */
   31115             : #line 1365 "gram.y"
   31116             :                                                 { (yyval.str) = (yyvsp[0].str); }
   31117             : #line 31118 "gram.c"
   31118           0 :     break;
   31119             : 
   31120          48 :   case 175: /* AlterRoleSetStmt: ALTER ROLE RoleSpec opt_in_database SetResetClause  */
   31121             : #line 1370 "gram.y"
   31122             :                                 {
   31123             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31124             : 
   31125             :                     n->role = (yyvsp[-2].rolespec);
   31126             :                     n->database = (yyvsp[-1].str);
   31127             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31128             :                     (yyval.node) = (Node *) n;
   31129             :                 }
   31130             : #line 31131 "gram.c"
   31131          48 :     break;
   31132             : 
   31133           4 :   case 176: /* AlterRoleSetStmt: ALTER ROLE ALL opt_in_database SetResetClause  */
   31134             : #line 1379 "gram.y"
   31135             :                                 {
   31136             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31137             : 
   31138             :                     n->role = NULL;
   31139             :                     n->database = (yyvsp[-1].str);
   31140             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31141             :                     (yyval.node) = (Node *) n;
   31142             :                 }
   31143             : #line 31144 "gram.c"
   31144           4 :     break;
   31145             : 
   31146          26 :   case 177: /* AlterRoleSetStmt: ALTER USER RoleSpec opt_in_database SetResetClause  */
   31147             : #line 1388 "gram.y"
   31148             :                                 {
   31149             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31150             : 
   31151             :                     n->role = (yyvsp[-2].rolespec);
   31152             :                     n->database = (yyvsp[-1].str);
   31153             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31154             :                     (yyval.node) = (Node *) n;
   31155             :                 }
   31156             : #line 31157 "gram.c"
   31157          26 :     break;
   31158             : 
   31159           4 :   case 178: /* AlterRoleSetStmt: ALTER USER ALL opt_in_database SetResetClause  */
   31160             : #line 1397 "gram.y"
   31161             :                                 {
   31162             :                     AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
   31163             : 
   31164             :                     n->role = NULL;
   31165             :                     n->database = (yyvsp[-1].str);
   31166             :                     n->setstmt = (yyvsp[0].vsetstmt);
   31167             :                     (yyval.node) = (Node *) n;
   31168             :                 }
   31169             : #line 31170 "gram.c"
   31170           4 :     break;
   31171             : 
   31172        1098 :   case 179: /* DropRoleStmt: DROP ROLE role_list  */
   31173             : #line 1419 "gram.y"
   31174             :                                 {
   31175             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31176             : 
   31177             :                     n->missing_ok = false;
   31178             :                     n->roles = (yyvsp[0].list);
   31179             :                     (yyval.node) = (Node *) n;
   31180             :                 }
   31181             : #line 31182 "gram.c"
   31182        1098 :     break;
   31183             : 
   31184         134 :   case 180: /* DropRoleStmt: DROP ROLE IF_P EXISTS role_list  */
   31185             : #line 1427 "gram.y"
   31186             :                                 {
   31187             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31188             : 
   31189             :                     n->missing_ok = true;
   31190             :                     n->roles = (yyvsp[0].list);
   31191             :                     (yyval.node) = (Node *) n;
   31192             :                 }
   31193             : #line 31194 "gram.c"
   31194         134 :     break;
   31195             : 
   31196         404 :   case 181: /* DropRoleStmt: DROP USER role_list  */
   31197             : #line 1435 "gram.y"
   31198             :                                 {
   31199             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31200             : 
   31201             :                     n->missing_ok = false;
   31202             :                     n->roles = (yyvsp[0].list);
   31203             :                     (yyval.node) = (Node *) n;
   31204             :                 }
   31205             : #line 31206 "gram.c"
   31206         404 :     break;
   31207             : 
   31208          36 :   case 182: /* DropRoleStmt: DROP USER IF_P EXISTS role_list  */
   31209             : #line 1443 "gram.y"
   31210             :                                 {
   31211             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31212             : 
   31213             :                     n->roles = (yyvsp[0].list);
   31214             :                     n->missing_ok = true;
   31215             :                     (yyval.node) = (Node *) n;
   31216             :                 }
   31217             : #line 31218 "gram.c"
   31218          36 :     break;
   31219             : 
   31220          36 :   case 183: /* DropRoleStmt: DROP GROUP_P role_list  */
   31221             : #line 1451 "gram.y"
   31222             :                                 {
   31223             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31224             : 
   31225             :                     n->missing_ok = false;
   31226             :                     n->roles = (yyvsp[0].list);
   31227             :                     (yyval.node) = (Node *) n;
   31228             :                 }
   31229             : #line 31230 "gram.c"
   31230          36 :     break;
   31231             : 
   31232           6 :   case 184: /* DropRoleStmt: DROP GROUP_P IF_P EXISTS role_list  */
   31233             : #line 1459 "gram.y"
   31234             :                                 {
   31235             :                     DropRoleStmt *n = makeNode(DropRoleStmt);
   31236             : 
   31237             :                     n->missing_ok = true;
   31238             :                     n->roles = (yyvsp[0].list);
   31239             :                     (yyval.node) = (Node *) n;
   31240             :                 }
   31241             : #line 31242 "gram.c"
   31242           6 :     break;
   31243             : 
   31244          24 :   case 185: /* CreateGroupStmt: CREATE GROUP_P RoleId opt_with OptRoleList  */
   31245             : #line 1477 "gram.y"
   31246             :                                 {
   31247             :                     CreateRoleStmt *n = makeNode(CreateRoleStmt);
   31248             : 
   31249             :                     n->stmt_type = ROLESTMT_GROUP;
   31250             :                     n->role = (yyvsp[-2].str);
   31251             :                     n->options = (yyvsp[0].list);
   31252             :                     (yyval.node) = (Node *) n;
   31253             :                 }
   31254             : #line 31255 "gram.c"
   31255          24 :     break;
   31256             : 
   31257          42 :   case 186: /* AlterGroupStmt: ALTER GROUP_P RoleSpec add_drop USER role_list  */
   31258             : #line 1496 "gram.y"
   31259             :                                 {
   31260             :                     AlterRoleStmt *n = makeNode(AlterRoleStmt);
   31261             : 
   31262             :                     n->role = (yyvsp[-3].rolespec);
   31263             :                     n->action = (yyvsp[-2].ival);
   31264             :                     n->options = list_make1(makeDefElem("rolemembers",
   31265             :                                                         (Node *) (yyvsp[0].list), (yylsp[0])));
   31266             :                     (yyval.node) = (Node *) n;
   31267             :                 }
   31268             : #line 31269 "gram.c"
   31269          42 :     break;
   31270             : 
   31271          86 :   case 187: /* add_drop: ADD_P  */
   31272             : #line 1507 "gram.y"
   31273             :                                                                                         { (yyval.ival) = +1; }
   31274             : #line 31275 "gram.c"
   31275          86 :     break;
   31276             : 
   31277         198 :   case 188: /* add_drop: DROP  */
   31278             : #line 1508 "gram.y"
   31279             :                                                                                                 { (yyval.ival) = -1; }
   31280             : #line 31281 "gram.c"
   31281         198 :     break;
   31282             : 
   31283         158 :   case 189: /* CreateSchemaStmt: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31284             : #line 1520 "gram.y"
   31285             :                                 {
   31286             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31287             : 
   31288             :                     /* One can omit the schema name or the authorization id. */
   31289             :                     n->schemaname = (yyvsp[-3].str);
   31290             :                     n->authrole = (yyvsp[-1].rolespec);
   31291             :                     n->schemaElts = (yyvsp[0].list);
   31292             :                     n->if_not_exists = false;
   31293             :                     (yyval.node) = (Node *) n;
   31294             :                 }
   31295             : #line 31296 "gram.c"
   31296         158 :     break;
   31297             : 
   31298         864 :   case 190: /* CreateSchemaStmt: CREATE SCHEMA ColId OptSchemaEltList  */
   31299             : #line 1531 "gram.y"
   31300             :                                 {
   31301             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31302             : 
   31303             :                     /* ...but not both */
   31304             :                     n->schemaname = (yyvsp[-1].str);
   31305             :                     n->authrole = NULL;
   31306             :                     n->schemaElts = (yyvsp[0].list);
   31307             :                     n->if_not_exists = false;
   31308             :                     (yyval.node) = (Node *) n;
   31309             :                 }
   31310             : #line 31311 "gram.c"
   31311         864 :     break;
   31312             : 
   31313          18 :   case 191: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList  */
   31314             : #line 1542 "gram.y"
   31315             :                                 {
   31316             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31317             : 
   31318             :                     /* schema name can be omitted here, too */
   31319             :                     n->schemaname = (yyvsp[-3].str);
   31320             :                     n->authrole = (yyvsp[-1].rolespec);
   31321             :                     if ((yyvsp[0].list) != NIL)
   31322             :                         ereport(ERROR,
   31323             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31324             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31325             :                                  parser_errposition((yylsp[0]))));
   31326             :                     n->schemaElts = (yyvsp[0].list);
   31327             :                     n->if_not_exists = true;
   31328             :                     (yyval.node) = (Node *) n;
   31329             :                 }
   31330             : #line 31331 "gram.c"
   31331          18 :     break;
   31332             : 
   31333          34 :   case 192: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList  */
   31334             : #line 1558 "gram.y"
   31335             :                                 {
   31336             :                     CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
   31337             : 
   31338             :                     /* ...but not here */
   31339             :                     n->schemaname = (yyvsp[-1].str);
   31340             :                     n->authrole = NULL;
   31341             :                     if ((yyvsp[0].list) != NIL)
   31342             :                         ereport(ERROR,
   31343             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31344             :                                  errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
   31345             :                                  parser_errposition((yylsp[0]))));
   31346             :                     n->schemaElts = (yyvsp[0].list);
   31347             :                     n->if_not_exists = true;
   31348             :                     (yyval.node) = (Node *) n;
   31349             :                 }
   31350             : #line 31351 "gram.c"
   31351          28 :     break;
   31352             : 
   31353         546 :   case 193: /* OptSchemaEltList: OptSchemaEltList schema_stmt  */
   31354             : #line 1577 "gram.y"
   31355             :                                 {
   31356             :                     (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
   31357             :                 }
   31358             : #line 31359 "gram.c"
   31359         546 :     break;
   31360             : 
   31361        1074 :   case 194: /* OptSchemaEltList: %empty  */
   31362             : #line 1581 "gram.y"
   31363             :                                 { (yyval.list) = NIL; }
   31364             : #line 31365 "gram.c"
   31365        1074 :     break;
   31366             : 
   31367       22264 :   case 201: /* VariableSetStmt: SET set_rest  */
   31368             : #line 1609 "gram.y"
   31369             :                                 {
   31370             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31371             : 
   31372             :                     n->is_local = false;
   31373             :                     (yyval.node) = (Node *) n;
   31374             :                 }
   31375             : #line 31376 "gram.c"
   31376       22264 :     break;
   31377             : 
   31378        1230 :   case 202: /* VariableSetStmt: SET LOCAL set_rest  */
   31379             : #line 1616 "gram.y"
   31380             :                                 {
   31381             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31382             : 
   31383             :                     n->is_local = true;
   31384             :                     (yyval.node) = (Node *) n;
   31385             :                 }
   31386             : #line 31387 "gram.c"
   31387        1230 :     break;
   31388             : 
   31389          84 :   case 203: /* VariableSetStmt: SET SESSION set_rest  */
   31390             : #line 1623 "gram.y"
   31391             :                                 {
   31392             :                     VariableSetStmt *n = (yyvsp[0].vsetstmt);
   31393             : 
   31394             :                     n->is_local = false;
   31395             :                     (yyval.node) = (Node *) n;
   31396             :                 }
   31397             : #line 31398 "gram.c"
   31398          84 :     break;
   31399             : 
   31400         684 :   case 204: /* set_rest: TRANSACTION transaction_mode_list  */
   31401             : #line 1633 "gram.y"
   31402             :                                 {
   31403             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31404             : 
   31405             :                     n->kind = VAR_SET_MULTI;
   31406             :                     n->name = "TRANSACTION";
   31407             :                     n->args = (yyvsp[0].list);
   31408             :                     n->jumble_args = true;
   31409             :                     n->location = -1;
   31410             :                     (yyval.vsetstmt) = n;
   31411             :                 }
   31412             : #line 31413 "gram.c"
   31413         684 :     break;
   31414             : 
   31415          18 :   case 205: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list  */
   31416             : #line 1644 "gram.y"
   31417             :                                 {
   31418             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31419             : 
   31420             :                     n->kind = VAR_SET_MULTI;
   31421             :                     n->name = "SESSION CHARACTERISTICS";
   31422             :                     n->args = (yyvsp[0].list);
   31423             :                     n->jumble_args = true;
   31424             :                     n->location = -1;
   31425             :                     (yyval.vsetstmt) = n;
   31426             :                 }
   31427             : #line 31428 "gram.c"
   31428          18 :     break;
   31429             : 
   31430        5230 :   case 207: /* generic_set: var_name TO var_list  */
   31431             : #line 1659 "gram.y"
   31432             :                                 {
   31433             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31434             : 
   31435             :                     n->kind = VAR_SET_VALUE;
   31436             :                     n->name = (yyvsp[-2].str);
   31437             :                     n->args = (yyvsp[0].list);
   31438             :                     n->location = (yylsp[0]);
   31439             :                     (yyval.vsetstmt) = n;
   31440             :                 }
   31441             : #line 31442 "gram.c"
   31442        5230 :     break;
   31443             : 
   31444       15314 :   case 208: /* generic_set: var_name '=' var_list  */
   31445             : #line 1669 "gram.y"
   31446             :                                 {
   31447             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31448             : 
   31449             :                     n->kind = VAR_SET_VALUE;
   31450             :                     n->name = (yyvsp[-2].str);
   31451             :                     n->args = (yyvsp[0].list);
   31452             :                     n->location = (yylsp[0]);
   31453             :                     (yyval.vsetstmt) = n;
   31454             :                 }
   31455             : #line 31456 "gram.c"
   31456       15314 :     break;
   31457             : 
   31458         136 :   case 209: /* generic_set: var_name TO DEFAULT  */
   31459             : #line 1679 "gram.y"
   31460             :                                 {
   31461             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31462             : 
   31463             :                     n->kind = VAR_SET_DEFAULT;
   31464             :                     n->name = (yyvsp[-2].str);
   31465             :                     n->location = -1;
   31466             :                     (yyval.vsetstmt) = n;
   31467             :                 }
   31468             : #line 31469 "gram.c"
   31469         136 :     break;
   31470             : 
   31471          10 :   case 210: /* generic_set: var_name '=' DEFAULT  */
   31472             : #line 1688 "gram.y"
   31473             :                                 {
   31474             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31475             : 
   31476             :                     n->kind = VAR_SET_DEFAULT;
   31477             :                     n->name = (yyvsp[-2].str);
   31478             :                     n->location = -1;
   31479             :                     (yyval.vsetstmt) = n;
   31480             :                 }
   31481             : #line 31482 "gram.c"
   31482          10 :     break;
   31483             : 
   31484       20568 :   case 211: /* set_rest_more: generic_set  */
   31485             : #line 1699 "gram.y"
   31486             :                                                                                         {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
   31487             : #line 31488 "gram.c"
   31488       20568 :     break;
   31489             : 
   31490           4 :   case 212: /* set_rest_more: var_name FROM CURRENT_P  */
   31491             : #line 1701 "gram.y"
   31492             :                                 {
   31493             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31494             : 
   31495             :                     n->kind = VAR_SET_CURRENT;
   31496             :                     n->name = (yyvsp[-2].str);
   31497             :                     n->location = -1;
   31498             :                     (yyval.vsetstmt) = n;
   31499             :                 }
   31500             : #line 31501 "gram.c"
   31501           4 :     break;
   31502             : 
   31503         104 :   case 213: /* set_rest_more: TIME ZONE zone_value  */
   31504             : #line 1711 "gram.y"
   31505             :                                 {
   31506             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31507             : 
   31508             :                     n->kind = VAR_SET_VALUE;
   31509             :                     n->name = "timezone";
   31510             :                     n->location = -1;
   31511             :                     n->jumble_args = true;
   31512             :                     if ((yyvsp[0].node) != NULL)
   31513             :                         n->args = list_make1((yyvsp[0].node));
   31514             :                     else
   31515             :                         n->kind = VAR_SET_DEFAULT;
   31516             :                     (yyval.vsetstmt) = n;
   31517             :                 }
   31518             : #line 31519 "gram.c"
   31519         104 :     break;
   31520             : 
   31521           0 :   case 214: /* set_rest_more: CATALOG_P Sconst  */
   31522             : #line 1725 "gram.y"
   31523             :                                 {
   31524             :                     ereport(ERROR,
   31525             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   31526             :                              errmsg("current database cannot be changed"),
   31527             :                              parser_errposition((yylsp[0]))));
   31528             :                     (yyval.vsetstmt) = NULL; /*not reached*/
   31529             :                 }
   31530             : #line 31531 "gram.c"
   31531             :     break;
   31532             : 
   31533           4 :   case 215: /* set_rest_more: SCHEMA Sconst  */
   31534             : #line 1733 "gram.y"
   31535             :                                 {
   31536             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31537             : 
   31538             :                     n->kind = VAR_SET_VALUE;
   31539             :                     n->name = "search_path";
   31540             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31541             :                     n->location = (yylsp[0]);
   31542             :                     (yyval.vsetstmt) = n;
   31543             :                 }
   31544             : #line 31545 "gram.c"
   31545           4 :     break;
   31546             : 
   31547           0 :   case 216: /* set_rest_more: NAMES opt_encoding  */
   31548             : #line 1743 "gram.y"
   31549             :                                 {
   31550             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31551             : 
   31552             :                     n->kind = VAR_SET_VALUE;
   31553             :                     n->name = "client_encoding";
   31554             :                     n->location = (yylsp[0]);
   31555             :                     if ((yyvsp[0].str) != NULL)
   31556             :                         n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31557             :                     else
   31558             :                         n->kind = VAR_SET_DEFAULT;
   31559             :                     (yyval.vsetstmt) = n;
   31560             :                 }
   31561             : #line 31562 "gram.c"
   31562           0 :     break;
   31563             : 
   31564         962 :   case 217: /* set_rest_more: ROLE NonReservedWord_or_Sconst  */
   31565             : #line 1756 "gram.y"
   31566             :                                 {
   31567             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31568             : 
   31569             :                     n->kind = VAR_SET_VALUE;
   31570             :                     n->name = "role";
   31571             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31572             :                     n->location = (yylsp[0]);
   31573             :                     (yyval.vsetstmt) = n;
   31574             :                 }
   31575             : #line 31576 "gram.c"
   31576         962 :     break;
   31577             : 
   31578        2550 :   case 218: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst  */
   31579             : #line 1766 "gram.y"
   31580             :                                 {
   31581             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31582             : 
   31583             :                     n->kind = VAR_SET_VALUE;
   31584             :                     n->name = "session_authorization";
   31585             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31586             :                     n->location = (yylsp[0]);
   31587             :                     (yyval.vsetstmt) = n;
   31588             :                 }
   31589             : #line 31590 "gram.c"
   31590        2550 :     break;
   31591             : 
   31592           4 :   case 219: /* set_rest_more: SESSION AUTHORIZATION DEFAULT  */
   31593             : #line 1776 "gram.y"
   31594             :                                 {
   31595             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31596             : 
   31597             :                     n->kind = VAR_SET_DEFAULT;
   31598             :                     n->name = "session_authorization";
   31599             :                     n->location = -1;
   31600             :                     (yyval.vsetstmt) = n;
   31601             :                 }
   31602             : #line 31603 "gram.c"
   31603           4 :     break;
   31604             : 
   31605          16 :   case 220: /* set_rest_more: XML_P OPTION document_or_content  */
   31606             : #line 1785 "gram.y"
   31607             :                                 {
   31608             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31609             : 
   31610             :                     n->kind = VAR_SET_VALUE;
   31611             :                     n->name = "xmloption";
   31612             :                     n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
   31613             :                     n->jumble_args = true;
   31614             :                     n->location = -1;
   31615             :                     (yyval.vsetstmt) = n;
   31616             :                 }
   31617             : #line 31618 "gram.c"
   31618          16 :     break;
   31619             : 
   31620          48 :   case 221: /* set_rest_more: TRANSACTION SNAPSHOT Sconst  */
   31621             : #line 1797 "gram.y"
   31622             :                                 {
   31623             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31624             : 
   31625             :                     n->kind = VAR_SET_MULTI;
   31626             :                     n->name = "TRANSACTION SNAPSHOT";
   31627             :                     n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
   31628             :                     n->location = (yylsp[0]);
   31629             :                     (yyval.vsetstmt) = n;
   31630             :                 }
   31631             : #line 31632 "gram.c"
   31632          48 :     break;
   31633             : 
   31634       25308 :   case 222: /* var_name: ColId  */
   31635             : #line 1808 "gram.y"
   31636             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31637             : #line 31638 "gram.c"
   31638       25308 :     break;
   31639             : 
   31640         470 :   case 223: /* var_name: var_name '.' ColId  */
   31641             : #line 1810 "gram.y"
   31642             :                                 { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
   31643             : #line 31644 "gram.c"
   31644         470 :     break;
   31645             : 
   31646       20544 :   case 224: /* var_list: var_value  */
   31647             : #line 1813 "gram.y"
   31648             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   31649             : #line 31650 "gram.c"
   31650       20544 :     break;
   31651             : 
   31652         176 :   case 225: /* var_list: var_list ',' var_value  */
   31653             : #line 1814 "gram.y"
   31654             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   31655             : #line 31656 "gram.c"
   31656         176 :     break;
   31657             : 
   31658       15044 :   case 226: /* var_value: opt_boolean_or_string  */
   31659             : #line 1818 "gram.y"
   31660             :                                 { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
   31661             : #line 31662 "gram.c"
   31662       15044 :     break;
   31663             : 
   31664        5676 :   case 227: /* var_value: NumericOnly  */
   31665             : #line 1820 "gram.y"
   31666             :                                 { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   31667             : #line 31668 "gram.c"
   31668        5676 :     break;
   31669             : 
   31670           0 :   case 228: /* iso_level: READ UNCOMMITTED  */
   31671             : #line 1823 "gram.y"
   31672             :                                                                                 { (yyval.str) = "read uncommitted"; }
   31673             : #line 31674 "gram.c"
   31674           0 :     break;
   31675             : 
   31676         908 :   case 229: /* iso_level: READ COMMITTED  */
   31677             : #line 1824 "gram.y"
   31678             :                                                                                         { (yyval.str) = "read committed"; }
   31679             : #line 31680 "gram.c"
   31680         908 :     break;
   31681             : 
   31682        2686 :   case 230: /* iso_level: REPEATABLE READ  */
   31683             : #line 1825 "gram.y"
   31684             :                                                                                         { (yyval.str) = "repeatable read"; }
   31685             : #line 31686 "gram.c"
   31686        2686 :     break;
   31687             : 
   31688        3208 :   case 231: /* iso_level: SERIALIZABLE  */
   31689             : #line 1826 "gram.y"
   31690             :                                                                                         { (yyval.str) = "serializable"; }
   31691             : #line 31692 "gram.c"
   31692        3208 :     break;
   31693             : 
   31694         676 :   case 232: /* opt_boolean_or_string: TRUE_P  */
   31695             : #line 1830 "gram.y"
   31696             :                                                                                                 { (yyval.str) = "true"; }
   31697             : #line 31698 "gram.c"
   31698         676 :     break;
   31699             : 
   31700        1446 :   case 233: /* opt_boolean_or_string: FALSE_P  */
   31701             : #line 1831 "gram.y"
   31702             :                                                                                                 { (yyval.str) = "false"; }
   31703             : #line 31704 "gram.c"
   31704        1446 :     break;
   31705             : 
   31706        2228 :   case 234: /* opt_boolean_or_string: ON  */
   31707             : #line 1832 "gram.y"
   31708             :                                                                                                 { (yyval.str) = "on"; }
   31709             : #line 31710 "gram.c"
   31710        2228 :     break;
   31711             : 
   31712       30208 :   case 235: /* opt_boolean_or_string: NonReservedWord_or_Sconst  */
   31713             : #line 1838 "gram.y"
   31714             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31715             : #line 31716 "gram.c"
   31716       30208 :     break;
   31717             : 
   31718          60 :   case 236: /* zone_value: Sconst  */
   31719             : #line 1851 "gram.y"
   31720             :                                 {
   31721             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   31722             :                 }
   31723             : #line 31724 "gram.c"
   31724          60 :     break;
   31725             : 
   31726           4 :   case 237: /* zone_value: IDENT  */
   31727             : #line 1855 "gram.y"
   31728             :                                 {
   31729             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   31730             :                 }
   31731             : #line 31732 "gram.c"
   31732           4 :     break;
   31733             : 
   31734           0 :   case 238: /* zone_value: ConstInterval Sconst opt_interval  */
   31735             : #line 1859 "gram.y"
   31736             :                                 {
   31737             :                     TypeName   *t = (yyvsp[-2].typnam);
   31738             : 
   31739             :                     if ((yyvsp[0].list) != NIL)
   31740             :                     {
   31741             :                         A_Const    *n = (A_Const *) linitial((yyvsp[0].list));
   31742             : 
   31743             :                         if ((n->val.ival.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
   31744             :                             ereport(ERROR,
   31745             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   31746             :                                      errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
   31747             :                                      parser_errposition((yylsp[0]))));
   31748             :                     }
   31749             :                     t->typmods = (yyvsp[0].list);
   31750             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   31751             :                 }
   31752             : #line 31753 "gram.c"
   31753           0 :     break;
   31754             : 
   31755           0 :   case 239: /* zone_value: ConstInterval '(' Iconst ')' Sconst  */
   31756             : #line 1876 "gram.y"
   31757             :                                 {
   31758             :                     TypeName   *t = (yyvsp[-4].typnam);
   31759             : 
   31760             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   31761             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   31762             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   31763             :                 }
   31764             : #line 31765 "gram.c"
   31765           0 :     break;
   31766             : 
   31767          24 :   case 240: /* zone_value: NumericOnly  */
   31768             : #line 1883 "gram.y"
   31769             :                                                                                         { (yyval.node) = makeAConst((yyvsp[0].node), (yylsp[0])); }
   31770             : #line 31771 "gram.c"
   31771          24 :     break;
   31772             : 
   31773          14 :   case 241: /* zone_value: DEFAULT  */
   31774             : #line 1884 "gram.y"
   31775             :                                                                                                 { (yyval.node) = NULL; }
   31776             : #line 31777 "gram.c"
   31777          14 :     break;
   31778             : 
   31779           2 :   case 242: /* zone_value: LOCAL  */
   31780             : #line 1885 "gram.y"
   31781             :                                                                                                 { (yyval.node) = NULL; }
   31782             : #line 31783 "gram.c"
   31783           2 :     break;
   31784             : 
   31785           0 :   case 243: /* opt_encoding: Sconst  */
   31786             : #line 1889 "gram.y"
   31787             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31788             : #line 31789 "gram.c"
   31789           0 :     break;
   31790             : 
   31791           0 :   case 244: /* opt_encoding: DEFAULT  */
   31792             : #line 1890 "gram.y"
   31793             :                                                                                                 { (yyval.str) = NULL; }
   31794             : #line 31795 "gram.c"
   31795           0 :     break;
   31796             : 
   31797           0 :   case 245: /* opt_encoding: %empty  */
   31798             : #line 1891 "gram.y"
   31799             :                                                                                                 { (yyval.str) = NULL; }
   31800             : #line 31801 "gram.c"
   31801           0 :     break;
   31802             : 
   31803       52932 :   case 246: /* NonReservedWord_or_Sconst: NonReservedWord  */
   31804             : #line 1895 "gram.y"
   31805             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   31806             : #line 31807 "gram.c"
   31807       52932 :     break;
   31808             : 
   31809        5498 :   case 247: /* NonReservedWord_or_Sconst: Sconst  */
   31810             : #line 1896 "gram.y"
   31811             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   31812             : #line 31813 "gram.c"
   31813        5498 :     break;
   31814             : 
   31815        4496 :   case 248: /* VariableResetStmt: RESET reset_rest  */
   31816             : #line 1900 "gram.y"
   31817             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
   31818             : #line 31819 "gram.c"
   31819        4496 :     break;
   31820             : 
   31821        3716 :   case 249: /* reset_rest: generic_reset  */
   31822             : #line 1904 "gram.y"
   31823             :                                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31824             : #line 31825 "gram.c"
   31825        3716 :     break;
   31826             : 
   31827          14 :   case 250: /* reset_rest: TIME ZONE  */
   31828             : #line 1906 "gram.y"
   31829             :                                 {
   31830             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31831             : 
   31832             :                     n->kind = VAR_RESET;
   31833             :                     n->name = "timezone";
   31834             :                     n->location = -1;
   31835             :                     (yyval.vsetstmt) = n;
   31836             :                 }
   31837             : #line 31838 "gram.c"
   31838          14 :     break;
   31839             : 
   31840           0 :   case 251: /* reset_rest: TRANSACTION ISOLATION LEVEL  */
   31841             : #line 1915 "gram.y"
   31842             :                                 {
   31843             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31844             : 
   31845             :                     n->kind = VAR_RESET;
   31846             :                     n->name = "transaction_isolation";
   31847             :                     n->location = -1;
   31848             :                     (yyval.vsetstmt) = n;
   31849             :                 }
   31850             : #line 31851 "gram.c"
   31851           0 :     break;
   31852             : 
   31853         766 :   case 252: /* reset_rest: SESSION AUTHORIZATION  */
   31854             : #line 1924 "gram.y"
   31855             :                                 {
   31856             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31857             : 
   31858             :                     n->kind = VAR_RESET;
   31859             :                     n->name = "session_authorization";
   31860             :                     n->location = -1;
   31861             :                     (yyval.vsetstmt) = n;
   31862             :                 }
   31863             : #line 31864 "gram.c"
   31864         766 :     break;
   31865             : 
   31866        3752 :   case 253: /* generic_reset: var_name  */
   31867             : #line 1936 "gram.y"
   31868             :                                 {
   31869             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31870             : 
   31871             :                     n->kind = VAR_RESET;
   31872             :                     n->name = (yyvsp[0].str);
   31873             :                     n->location = -1;
   31874             :                     (yyval.vsetstmt) = n;
   31875             :                 }
   31876             : #line 31877 "gram.c"
   31877        3752 :     break;
   31878             : 
   31879          18 :   case 254: /* generic_reset: ALL  */
   31880             : #line 1945 "gram.y"
   31881             :                                 {
   31882             :                     VariableSetStmt *n = makeNode(VariableSetStmt);
   31883             : 
   31884             :                     n->kind = VAR_RESET_ALL;
   31885             :                     n->location = -1;
   31886             :                     (yyval.vsetstmt) = n;
   31887             :                 }
   31888             : #line 31889 "gram.c"
   31889          18 :     break;
   31890             : 
   31891        1236 :   case 255: /* SetResetClause: SET set_rest  */
   31892             : #line 1956 "gram.y"
   31893             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31894             : #line 31895 "gram.c"
   31895        1236 :     break;
   31896             : 
   31897          44 :   case 256: /* SetResetClause: VariableResetStmt  */
   31898             : #line 1957 "gram.y"
   31899             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   31900             : #line 31901 "gram.c"
   31901          44 :     break;
   31902             : 
   31903         148 :   case 257: /* FunctionSetResetClause: SET set_rest_more  */
   31904             : #line 1962 "gram.y"
   31905             :                                                                         { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
   31906             : #line 31907 "gram.c"
   31907         148 :     break;
   31908             : 
   31909          12 :   case 258: /* FunctionSetResetClause: VariableResetStmt  */
   31910             : #line 1963 "gram.y"
   31911             :                                                                         { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
   31912             : #line 31913 "gram.c"
   31913          12 :     break;
   31914             : 
   31915         862 :   case 259: /* VariableShowStmt: SHOW var_name  */
   31916             : #line 1969 "gram.y"
   31917             :                                 {
   31918             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31919             : 
   31920             :                     n->name = (yyvsp[0].str);
   31921             :                     (yyval.node) = (Node *) n;
   31922             :                 }
   31923             : #line 31924 "gram.c"
   31924         862 :     break;
   31925             : 
   31926          10 :   case 260: /* VariableShowStmt: SHOW TIME ZONE  */
   31927             : #line 1976 "gram.y"
   31928             :                                 {
   31929             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31930             : 
   31931             :                     n->name = "timezone";
   31932             :                     (yyval.node) = (Node *) n;
   31933             :                 }
   31934             : #line 31935 "gram.c"
   31935          10 :     break;
   31936             : 
   31937           4 :   case 261: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL  */
   31938             : #line 1983 "gram.y"
   31939             :                                 {
   31940             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31941             : 
   31942             :                     n->name = "transaction_isolation";
   31943             :                     (yyval.node) = (Node *) n;
   31944             :                 }
   31945             : #line 31946 "gram.c"
   31946           4 :     break;
   31947             : 
   31948           0 :   case 262: /* VariableShowStmt: SHOW SESSION AUTHORIZATION  */
   31949             : #line 1990 "gram.y"
   31950             :                                 {
   31951             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31952             : 
   31953             :                     n->name = "session_authorization";
   31954             :                     (yyval.node) = (Node *) n;
   31955             :                 }
   31956             : #line 31957 "gram.c"
   31957           0 :     break;
   31958             : 
   31959           0 :   case 263: /* VariableShowStmt: SHOW ALL  */
   31960             : #line 1997 "gram.y"
   31961             :                                 {
   31962             :                     VariableShowStmt *n = makeNode(VariableShowStmt);
   31963             : 
   31964             :                     n->name = "all";
   31965             :                     (yyval.node) = (Node *) n;
   31966             :                 }
   31967             : #line 31968 "gram.c"
   31968           0 :     break;
   31969             : 
   31970         104 :   case 264: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode  */
   31971             : #line 2008 "gram.y"
   31972             :                                 {
   31973             :                     ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
   31974             : 
   31975             :                     n->constraints = (yyvsp[-1].list);
   31976             :                     n->deferred = (yyvsp[0].boolean);
   31977             :                     (yyval.node) = (Node *) n;
   31978             :                 }
   31979             : #line 31980 "gram.c"
   31980         104 :     break;
   31981             : 
   31982          56 :   case 265: /* constraints_set_list: ALL  */
   31983             : #line 2018 "gram.y"
   31984             :                                                                                                         { (yyval.list) = NIL; }
   31985             : #line 31986 "gram.c"
   31986          56 :     break;
   31987             : 
   31988          48 :   case 266: /* constraints_set_list: qualified_name_list  */
   31989             : #line 2019 "gram.y"
   31990             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   31991             : #line 31992 "gram.c"
   31992          48 :     break;
   31993             : 
   31994          68 :   case 267: /* constraints_set_mode: DEFERRED  */
   31995             : #line 2023 "gram.y"
   31996             :                                                                                                 { (yyval.boolean) = true; }
   31997             : #line 31998 "gram.c"
   31998          68 :     break;
   31999             : 
   32000          36 :   case 268: /* constraints_set_mode: IMMEDIATE  */
   32001             : #line 2024 "gram.y"
   32002             :                                                                                                 { (yyval.boolean) = false; }
   32003             : #line 32004 "gram.c"
   32004          36 :     break;
   32005             : 
   32006         222 :   case 269: /* CheckPointStmt: CHECKPOINT  */
   32007             : #line 2033 "gram.y"
   32008             :                                 {
   32009             :                     CheckPointStmt *n = makeNode(CheckPointStmt);
   32010             : 
   32011             :                     (yyval.node) = (Node *) n;
   32012             :                 }
   32013             : #line 32014 "gram.c"
   32014         222 :     break;
   32015             : 
   32016           6 :   case 270: /* DiscardStmt: DISCARD ALL  */
   32017             : #line 2049 "gram.y"
   32018             :                                 {
   32019             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32020             : 
   32021             :                     n->target = DISCARD_ALL;
   32022             :                     (yyval.node) = (Node *) n;
   32023             :                 }
   32024             : #line 32025 "gram.c"
   32025           6 :     break;
   32026             : 
   32027           8 :   case 271: /* DiscardStmt: DISCARD TEMP  */
   32028             : #line 2056 "gram.y"
   32029             :                                 {
   32030             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32031             : 
   32032             :                     n->target = DISCARD_TEMP;
   32033             :                     (yyval.node) = (Node *) n;
   32034             :                 }
   32035             : #line 32036 "gram.c"
   32036           8 :     break;
   32037             : 
   32038           0 :   case 272: /* DiscardStmt: DISCARD TEMPORARY  */
   32039             : #line 2063 "gram.y"
   32040             :                                 {
   32041             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32042             : 
   32043             :                     n->target = DISCARD_TEMP;
   32044             :                     (yyval.node) = (Node *) n;
   32045             :                 }
   32046             : #line 32047 "gram.c"
   32047           0 :     break;
   32048             : 
   32049           4 :   case 273: /* DiscardStmt: DISCARD PLANS  */
   32050             : #line 2070 "gram.y"
   32051             :                                 {
   32052             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32053             : 
   32054             :                     n->target = DISCARD_PLANS;
   32055             :                     (yyval.node) = (Node *) n;
   32056             :                 }
   32057             : #line 32058 "gram.c"
   32058           4 :     break;
   32059             : 
   32060          12 :   case 274: /* DiscardStmt: DISCARD SEQUENCES  */
   32061             : #line 2077 "gram.y"
   32062             :                                 {
   32063             :                     DiscardStmt *n = makeNode(DiscardStmt);
   32064             : 
   32065             :                     n->target = DISCARD_SEQUENCES;
   32066             :                     (yyval.node) = (Node *) n;
   32067             :                 }
   32068             : #line 32069 "gram.c"
   32069          12 :     break;
   32070             : 
   32071       27750 :   case 275: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds  */
   32072             : #line 2097 "gram.y"
   32073             :                                 {
   32074             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32075             : 
   32076             :                     n->relation = (yyvsp[-1].range);
   32077             :                     n->cmds = (yyvsp[0].list);
   32078             :                     n->objtype = OBJECT_TABLE;
   32079             :                     n->missing_ok = false;
   32080             :                     (yyval.node) = (Node *) n;
   32081             :                 }
   32082             : #line 32083 "gram.c"
   32083       27750 :     break;
   32084             : 
   32085          54 :   case 276: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32086             : #line 2107 "gram.y"
   32087             :                                 {
   32088             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32089             : 
   32090             :                     n->relation = (yyvsp[-1].range);
   32091             :                     n->cmds = (yyvsp[0].list);
   32092             :                     n->objtype = OBJECT_TABLE;
   32093             :                     n->missing_ok = true;
   32094             :                     (yyval.node) = (Node *) n;
   32095             :                 }
   32096             : #line 32097 "gram.c"
   32097          54 :     break;
   32098             : 
   32099        3446 :   case 277: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd  */
   32100             : #line 2117 "gram.y"
   32101             :                                 {
   32102             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32103             : 
   32104             :                     n->relation = (yyvsp[-1].range);
   32105             :                     n->cmds = list_make1((yyvsp[0].node));
   32106             :                     n->objtype = OBJECT_TABLE;
   32107             :                     n->missing_ok = false;
   32108             :                     (yyval.node) = (Node *) n;
   32109             :                 }
   32110             : #line 32111 "gram.c"
   32111        3446 :     break;
   32112             : 
   32113           0 :   case 278: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd  */
   32114             : #line 2127 "gram.y"
   32115             :                                 {
   32116             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32117             : 
   32118             :                     n->relation = (yyvsp[-1].range);
   32119             :                     n->cmds = list_make1((yyvsp[0].node));
   32120             :                     n->objtype = OBJECT_TABLE;
   32121             :                     n->missing_ok = true;
   32122             :                     (yyval.node) = (Node *) n;
   32123             :                 }
   32124             : #line 32125 "gram.c"
   32125           0 :     break;
   32126             : 
   32127          12 :   case 279: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32128             : #line 2137 "gram.y"
   32129             :                                 {
   32130             :                     AlterTableMoveAllStmt *n =
   32131             :                         makeNode(AlterTableMoveAllStmt);
   32132             : 
   32133             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32134             :                     n->objtype = OBJECT_TABLE;
   32135             :                     n->roles = NIL;
   32136             :                     n->new_tablespacename = (yyvsp[-1].str);
   32137             :                     n->nowait = (yyvsp[0].boolean);
   32138             :                     (yyval.node) = (Node *) n;
   32139             :                 }
   32140             : #line 32141 "gram.c"
   32141          12 :     break;
   32142             : 
   32143           0 :   case 280: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32144             : #line 2149 "gram.y"
   32145             :                                 {
   32146             :                     AlterTableMoveAllStmt *n =
   32147             :                         makeNode(AlterTableMoveAllStmt);
   32148             : 
   32149             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32150             :                     n->objtype = OBJECT_TABLE;
   32151             :                     n->roles = (yyvsp[-4].list);
   32152             :                     n->new_tablespacename = (yyvsp[-1].str);
   32153             :                     n->nowait = (yyvsp[0].boolean);
   32154             :                     (yyval.node) = (Node *) n;
   32155             :                 }
   32156             : #line 32157 "gram.c"
   32157           0 :     break;
   32158             : 
   32159         228 :   case 281: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds  */
   32160             : #line 2161 "gram.y"
   32161             :                                 {
   32162             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32163             : 
   32164             :                     n->relation = (yyvsp[-1].range);
   32165             :                     n->cmds = (yyvsp[0].list);
   32166             :                     n->objtype = OBJECT_INDEX;
   32167             :                     n->missing_ok = false;
   32168             :                     (yyval.node) = (Node *) n;
   32169             :                 }
   32170             : #line 32171 "gram.c"
   32171         228 :     break;
   32172             : 
   32173           0 :   case 282: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds  */
   32174             : #line 2171 "gram.y"
   32175             :                                 {
   32176             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32177             : 
   32178             :                     n->relation = (yyvsp[-1].range);
   32179             :                     n->cmds = (yyvsp[0].list);
   32180             :                     n->objtype = OBJECT_INDEX;
   32181             :                     n->missing_ok = true;
   32182             :                     (yyval.node) = (Node *) n;
   32183             :                 }
   32184             : #line 32185 "gram.c"
   32185           0 :     break;
   32186             : 
   32187         482 :   case 283: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd  */
   32188             : #line 2181 "gram.y"
   32189             :                                 {
   32190             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32191             : 
   32192             :                     n->relation = (yyvsp[-1].range);
   32193             :                     n->cmds = list_make1((yyvsp[0].node));
   32194             :                     n->objtype = OBJECT_INDEX;
   32195             :                     n->missing_ok = false;
   32196             :                     (yyval.node) = (Node *) n;
   32197             :                 }
   32198             : #line 32199 "gram.c"
   32199         482 :     break;
   32200             : 
   32201           6 :   case 284: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32202             : #line 2191 "gram.y"
   32203             :                                 {
   32204             :                     AlterTableMoveAllStmt *n =
   32205             :                         makeNode(AlterTableMoveAllStmt);
   32206             : 
   32207             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32208             :                     n->objtype = OBJECT_INDEX;
   32209             :                     n->roles = NIL;
   32210             :                     n->new_tablespacename = (yyvsp[-1].str);
   32211             :                     n->nowait = (yyvsp[0].boolean);
   32212             :                     (yyval.node) = (Node *) n;
   32213             :                 }
   32214             : #line 32215 "gram.c"
   32215           6 :     break;
   32216             : 
   32217           0 :   case 285: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32218             : #line 2203 "gram.y"
   32219             :                                 {
   32220             :                     AlterTableMoveAllStmt *n =
   32221             :                         makeNode(AlterTableMoveAllStmt);
   32222             : 
   32223             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32224             :                     n->objtype = OBJECT_INDEX;
   32225             :                     n->roles = (yyvsp[-4].list);
   32226             :                     n->new_tablespacename = (yyvsp[-1].str);
   32227             :                     n->nowait = (yyvsp[0].boolean);
   32228             :                     (yyval.node) = (Node *) n;
   32229             :                 }
   32230             : #line 32231 "gram.c"
   32231           0 :     break;
   32232             : 
   32233         156 :   case 286: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds  */
   32234             : #line 2215 "gram.y"
   32235             :                                 {
   32236             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32237             : 
   32238             :                     n->relation = (yyvsp[-1].range);
   32239             :                     n->cmds = (yyvsp[0].list);
   32240             :                     n->objtype = OBJECT_SEQUENCE;
   32241             :                     n->missing_ok = false;
   32242             :                     (yyval.node) = (Node *) n;
   32243             :                 }
   32244             : #line 32245 "gram.c"
   32245         156 :     break;
   32246             : 
   32247           0 :   case 287: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds  */
   32248             : #line 2225 "gram.y"
   32249             :                                 {
   32250             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32251             : 
   32252             :                     n->relation = (yyvsp[-1].range);
   32253             :                     n->cmds = (yyvsp[0].list);
   32254             :                     n->objtype = OBJECT_SEQUENCE;
   32255             :                     n->missing_ok = true;
   32256             :                     (yyval.node) = (Node *) n;
   32257             :                 }
   32258             : #line 32259 "gram.c"
   32259           0 :     break;
   32260             : 
   32261         356 :   case 288: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds  */
   32262             : #line 2235 "gram.y"
   32263             :                                 {
   32264             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32265             : 
   32266             :                     n->relation = (yyvsp[-1].range);
   32267             :                     n->cmds = (yyvsp[0].list);
   32268             :                     n->objtype = OBJECT_VIEW;
   32269             :                     n->missing_ok = false;
   32270             :                     (yyval.node) = (Node *) n;
   32271             :                 }
   32272             : #line 32273 "gram.c"
   32273         356 :     break;
   32274             : 
   32275           0 :   case 289: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32276             : #line 2245 "gram.y"
   32277             :                                 {
   32278             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32279             : 
   32280             :                     n->relation = (yyvsp[-1].range);
   32281             :                     n->cmds = (yyvsp[0].list);
   32282             :                     n->objtype = OBJECT_VIEW;
   32283             :                     n->missing_ok = true;
   32284             :                     (yyval.node) = (Node *) n;
   32285             :                 }
   32286             : #line 32287 "gram.c"
   32287           0 :     break;
   32288             : 
   32289          64 :   case 290: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds  */
   32290             : #line 2255 "gram.y"
   32291             :                                 {
   32292             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32293             : 
   32294             :                     n->relation = (yyvsp[-1].range);
   32295             :                     n->cmds = (yyvsp[0].list);
   32296             :                     n->objtype = OBJECT_MATVIEW;
   32297             :                     n->missing_ok = false;
   32298             :                     (yyval.node) = (Node *) n;
   32299             :                 }
   32300             : #line 32301 "gram.c"
   32301          64 :     break;
   32302             : 
   32303           0 :   case 291: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds  */
   32304             : #line 2265 "gram.y"
   32305             :                                 {
   32306             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32307             : 
   32308             :                     n->relation = (yyvsp[-1].range);
   32309             :                     n->cmds = (yyvsp[0].list);
   32310             :                     n->objtype = OBJECT_MATVIEW;
   32311             :                     n->missing_ok = true;
   32312             :                     (yyval.node) = (Node *) n;
   32313             :                 }
   32314             : #line 32315 "gram.c"
   32315           0 :     break;
   32316             : 
   32317          12 :   case 292: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait  */
   32318             : #line 2275 "gram.y"
   32319             :                                 {
   32320             :                     AlterTableMoveAllStmt *n =
   32321             :                         makeNode(AlterTableMoveAllStmt);
   32322             : 
   32323             :                     n->orig_tablespacename = (yyvsp[-4].str);
   32324             :                     n->objtype = OBJECT_MATVIEW;
   32325             :                     n->roles = NIL;
   32326             :                     n->new_tablespacename = (yyvsp[-1].str);
   32327             :                     n->nowait = (yyvsp[0].boolean);
   32328             :                     (yyval.node) = (Node *) n;
   32329             :                 }
   32330             : #line 32331 "gram.c"
   32331          12 :     break;
   32332             : 
   32333           0 :   case 293: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait  */
   32334             : #line 2287 "gram.y"
   32335             :                                 {
   32336             :                     AlterTableMoveAllStmt *n =
   32337             :                         makeNode(AlterTableMoveAllStmt);
   32338             : 
   32339             :                     n->orig_tablespacename = (yyvsp[-7].str);
   32340             :                     n->objtype = OBJECT_MATVIEW;
   32341             :                     n->roles = (yyvsp[-4].list);
   32342             :                     n->new_tablespacename = (yyvsp[-1].str);
   32343             :                     n->nowait = (yyvsp[0].boolean);
   32344             :                     (yyval.node) = (Node *) n;
   32345             :                 }
   32346             : #line 32347 "gram.c"
   32347           0 :     break;
   32348             : 
   32349         374 :   case 294: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds  */
   32350             : #line 2299 "gram.y"
   32351             :                                 {
   32352             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32353             : 
   32354             :                     n->relation = (yyvsp[-1].range);
   32355             :                     n->cmds = (yyvsp[0].list);
   32356             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32357             :                     n->missing_ok = false;
   32358             :                     (yyval.node) = (Node *) n;
   32359             :                 }
   32360             : #line 32361 "gram.c"
   32361         374 :     break;
   32362             : 
   32363         108 :   case 295: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds  */
   32364             : #line 2309 "gram.y"
   32365             :                                 {
   32366             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   32367             : 
   32368             :                     n->relation = (yyvsp[-1].range);
   32369             :                     n->cmds = (yyvsp[0].list);
   32370             :                     n->objtype = OBJECT_FOREIGN_TABLE;
   32371             :                     n->missing_ok = true;
   32372             :                     (yyval.node) = (Node *) n;
   32373             :                 }
   32374             : #line 32375 "gram.c"
   32375         108 :     break;
   32376             : 
   32377       29090 :   case 296: /* alter_table_cmds: alter_table_cmd  */
   32378             : #line 2321 "gram.y"
   32379             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   32380             : #line 32381 "gram.c"
   32381       29090 :     break;
   32382             : 
   32383        1020 :   case 297: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd  */
   32384             : #line 2322 "gram.y"
   32385             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   32386             : #line 32387 "gram.c"
   32387        1020 :     break;
   32388             : 
   32389        2832 :   case 298: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec  */
   32390             : #line 2328 "gram.y"
   32391             :                                 {
   32392             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32393             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32394             : 
   32395             :                     n->subtype = AT_AttachPartition;
   32396             :                     cmd->name = (yyvsp[-1].range);
   32397             :                     cmd->bound = (yyvsp[0].partboundspec);
   32398             :                     cmd->concurrent = false;
   32399             :                     n->def = (Node *) cmd;
   32400             : 
   32401             :                     (yyval.node) = (Node *) n;
   32402             :                 }
   32403             : #line 32404 "gram.c"
   32404        2832 :     break;
   32405             : 
   32406         594 :   case 299: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently  */
   32407             : #line 2342 "gram.y"
   32408             :                                 {
   32409             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32410             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32411             : 
   32412             :                     n->subtype = AT_DetachPartition;
   32413             :                     cmd->name = (yyvsp[-1].range);
   32414             :                     cmd->bound = NULL;
   32415             :                     cmd->concurrent = (yyvsp[0].boolean);
   32416             :                     n->def = (Node *) cmd;
   32417             : 
   32418             :                     (yyval.node) = (Node *) n;
   32419             :                 }
   32420             : #line 32421 "gram.c"
   32421         594 :     break;
   32422             : 
   32423          20 :   case 300: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE  */
   32424             : #line 2355 "gram.y"
   32425             :                                 {
   32426             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32427             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32428             : 
   32429             :                     n->subtype = AT_DetachPartitionFinalize;
   32430             :                     cmd->name = (yyvsp[-1].range);
   32431             :                     cmd->bound = NULL;
   32432             :                     cmd->concurrent = false;
   32433             :                     n->def = (Node *) cmd;
   32434             :                     (yyval.node) = (Node *) n;
   32435             :                 }
   32436             : #line 32437 "gram.c"
   32437          20 :     break;
   32438             : 
   32439         482 :   case 301: /* index_partition_cmd: ATTACH PARTITION qualified_name  */
   32440             : #line 2371 "gram.y"
   32441             :                                 {
   32442             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32443             :                     PartitionCmd *cmd = makeNode(PartitionCmd);
   32444             : 
   32445             :                     n->subtype = AT_AttachPartition;
   32446             :                     cmd->name = (yyvsp[0].range);
   32447             :                     cmd->bound = NULL;
   32448             :                     cmd->concurrent = false;
   32449             :                     n->def = (Node *) cmd;
   32450             : 
   32451             :                     (yyval.node) = (Node *) n;
   32452             :                 }
   32453             : #line 32454 "gram.c"
   32454         482 :     break;
   32455             : 
   32456         192 :   case 302: /* alter_table_cmd: ADD_P columnDef  */
   32457             : #line 2388 "gram.y"
   32458             :                                 {
   32459             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32460             : 
   32461             :                     n->subtype = AT_AddColumn;
   32462             :                     n->def = (yyvsp[0].node);
   32463             :                     n->missing_ok = false;
   32464             :                     (yyval.node) = (Node *) n;
   32465             :                 }
   32466             : #line 32467 "gram.c"
   32467         192 :     break;
   32468             : 
   32469           0 :   case 303: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef  */
   32470             : #line 2398 "gram.y"
   32471             :                                 {
   32472             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32473             : 
   32474             :                     n->subtype = AT_AddColumn;
   32475             :                     n->def = (yyvsp[0].node);
   32476             :                     n->missing_ok = true;
   32477             :                     (yyval.node) = (Node *) n;
   32478             :                 }
   32479             : #line 32480 "gram.c"
   32480           0 :     break;
   32481             : 
   32482        1890 :   case 304: /* alter_table_cmd: ADD_P COLUMN columnDef  */
   32483             : #line 2408 "gram.y"
   32484             :                                 {
   32485             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32486             : 
   32487             :                     n->subtype = AT_AddColumn;
   32488             :                     n->def = (yyvsp[0].node);
   32489             :                     n->missing_ok = false;
   32490             :                     (yyval.node) = (Node *) n;
   32491             :                 }
   32492             : #line 32493 "gram.c"
   32493        1890 :     break;
   32494             : 
   32495          60 :   case 305: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef  */
   32496             : #line 2418 "gram.y"
   32497             :                                 {
   32498             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32499             : 
   32500             :                     n->subtype = AT_AddColumn;
   32501             :                     n->def = (yyvsp[0].node);
   32502             :                     n->missing_ok = true;
   32503             :                     (yyval.node) = (Node *) n;
   32504             :                 }
   32505             : #line 32506 "gram.c"
   32506          60 :     break;
   32507             : 
   32508         578 :   case 306: /* alter_table_cmd: ALTER opt_column ColId alter_column_default  */
   32509             : #line 2428 "gram.y"
   32510             :                                 {
   32511             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32512             : 
   32513             :                     n->subtype = AT_ColumnDefault;
   32514             :                     n->name = (yyvsp[-1].str);
   32515             :                     n->def = (yyvsp[0].node);
   32516             :                     (yyval.node) = (Node *) n;
   32517             :                 }
   32518             : #line 32519 "gram.c"
   32519         578 :     break;
   32520             : 
   32521         294 :   case 307: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P  */
   32522             : #line 2438 "gram.y"
   32523             :                                 {
   32524             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32525             : 
   32526             :                     n->subtype = AT_DropNotNull;
   32527             :                     n->name = (yyvsp[-3].str);
   32528             :                     (yyval.node) = (Node *) n;
   32529             :                 }
   32530             : #line 32531 "gram.c"
   32531         294 :     break;
   32532             : 
   32533         434 :   case 308: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P  */
   32534             : #line 2447 "gram.y"
   32535             :                                 {
   32536             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32537             : 
   32538             :                     n->subtype = AT_SetNotNull;
   32539             :                     n->name = (yyvsp[-3].str);
   32540             :                     (yyval.node) = (Node *) n;
   32541             :                 }
   32542             : #line 32543 "gram.c"
   32543         434 :     break;
   32544             : 
   32545         132 :   case 309: /* alter_table_cmd: ALTER opt_column ColId SET EXPRESSION AS '(' a_expr ')'  */
   32546             : #line 2456 "gram.y"
   32547             :                                 {
   32548             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32549             : 
   32550             :                     n->subtype = AT_SetExpression;
   32551             :                     n->name = (yyvsp[-6].str);
   32552             :                     n->def = (yyvsp[-1].node);
   32553             :                     (yyval.node) = (Node *) n;
   32554             :                 }
   32555             : #line 32556 "gram.c"
   32556         132 :     break;
   32557             : 
   32558          62 :   case 310: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION  */
   32559             : #line 2466 "gram.y"
   32560             :                                 {
   32561             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32562             : 
   32563             :                     n->subtype = AT_DropExpression;
   32564             :                     n->name = (yyvsp[-2].str);
   32565             :                     (yyval.node) = (Node *) n;
   32566             :                 }
   32567             : #line 32568 "gram.c"
   32568          62 :     break;
   32569             : 
   32570          12 :   case 311: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS  */
   32571             : #line 2475 "gram.y"
   32572             :                                 {
   32573             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32574             : 
   32575             :                     n->subtype = AT_DropExpression;
   32576             :                     n->name = (yyvsp[-4].str);
   32577             :                     n->missing_ok = true;
   32578             :                     (yyval.node) = (Node *) n;
   32579             :                 }
   32580             : #line 32581 "gram.c"
   32581          12 :     break;
   32582             : 
   32583          62 :   case 312: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS set_statistics_value  */
   32584             : #line 2485 "gram.y"
   32585             :                                 {
   32586             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32587             : 
   32588             :                     n->subtype = AT_SetStatistics;
   32589             :                     n->name = (yyvsp[-3].str);
   32590             :                     n->def = (yyvsp[0].node);
   32591             :                     (yyval.node) = (Node *) n;
   32592             :                 }
   32593             : #line 32594 "gram.c"
   32594          62 :     break;
   32595             : 
   32596          70 :   case 313: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS set_statistics_value  */
   32597             : #line 2495 "gram.y"
   32598             :                                 {
   32599             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32600             : 
   32601             :                     if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
   32602             :                         ereport(ERROR,
   32603             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   32604             :                                  errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
   32605             :                                  parser_errposition((yylsp[-3]))));
   32606             : 
   32607             :                     n->subtype = AT_SetStatistics;
   32608             :                     n->num = (int16) (yyvsp[-3].ival);
   32609             :                     n->def = (yyvsp[0].node);
   32610             :                     (yyval.node) = (Node *) n;
   32611             :                 }
   32612             : #line 32613 "gram.c"
   32613          64 :     break;
   32614             : 
   32615          38 :   case 314: /* alter_table_cmd: ALTER opt_column ColId SET reloptions  */
   32616             : #line 2511 "gram.y"
   32617             :                                 {
   32618             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32619             : 
   32620             :                     n->subtype = AT_SetOptions;
   32621             :                     n->name = (yyvsp[-2].str);
   32622             :                     n->def = (Node *) (yyvsp[0].list);
   32623             :                     (yyval.node) = (Node *) n;
   32624             :                 }
   32625             : #line 32626 "gram.c"
   32626          38 :     break;
   32627             : 
   32628           6 :   case 315: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions  */
   32629             : #line 2521 "gram.y"
   32630             :                                 {
   32631             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32632             : 
   32633             :                     n->subtype = AT_ResetOptions;
   32634             :                     n->name = (yyvsp[-2].str);
   32635             :                     n->def = (Node *) (yyvsp[0].list);
   32636             :                     (yyval.node) = (Node *) n;
   32637             :                 }
   32638             : #line 32639 "gram.c"
   32639           6 :     break;
   32640             : 
   32641         224 :   case 316: /* alter_table_cmd: ALTER opt_column ColId SET column_storage  */
   32642             : #line 2531 "gram.y"
   32643             :                                 {
   32644             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32645             : 
   32646             :                     n->subtype = AT_SetStorage;
   32647             :                     n->name = (yyvsp[-2].str);
   32648             :                     n->def = (Node *) makeString((yyvsp[0].str));
   32649             :                     (yyval.node) = (Node *) n;
   32650             :                 }
   32651             : #line 32652 "gram.c"
   32652         224 :     break;
   32653             : 
   32654          90 :   case 317: /* alter_table_cmd: ALTER opt_column ColId SET column_compression  */
   32655             : #line 2541 "gram.y"
   32656             :                                 {
   32657             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32658             : 
   32659             :                     n->subtype = AT_SetCompression;
   32660             :                     n->name = (yyvsp[-2].str);
   32661             :                     n->def = (Node *) makeString((yyvsp[0].str));
   32662             :                     (yyval.node) = (Node *) n;
   32663             :                 }
   32664             : #line 32665 "gram.c"
   32665          90 :     break;
   32666             : 
   32667         210 :   case 318: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   32668             : #line 2551 "gram.y"
   32669             :                                 {
   32670             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32671             :                     Constraint *c = makeNode(Constraint);
   32672             : 
   32673             :                     c->contype = CONSTR_IDENTITY;
   32674             :                     c->generated_when = (yyvsp[-3].ival);
   32675             :                     c->options = (yyvsp[0].list);
   32676             :                     c->location = (yylsp[-4]);
   32677             : 
   32678             :                     n->subtype = AT_AddIdentity;
   32679             :                     n->name = (yyvsp[-6].str);
   32680             :                     n->def = (Node *) c;
   32681             : 
   32682             :                     (yyval.node) = (Node *) n;
   32683             :                 }
   32684             : #line 32685 "gram.c"
   32685         210 :     break;
   32686             : 
   32687          62 :   case 319: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list  */
   32688             : #line 2568 "gram.y"
   32689             :                                 {
   32690             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32691             : 
   32692             :                     n->subtype = AT_SetIdentity;
   32693             :                     n->name = (yyvsp[-1].str);
   32694             :                     n->def = (Node *) (yyvsp[0].list);
   32695             :                     (yyval.node) = (Node *) n;
   32696             :                 }
   32697             : #line 32698 "gram.c"
   32698          62 :     break;
   32699             : 
   32700          50 :   case 320: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P  */
   32701             : #line 2578 "gram.y"
   32702             :                                 {
   32703             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32704             : 
   32705             :                     n->subtype = AT_DropIdentity;
   32706             :                     n->name = (yyvsp[-2].str);
   32707             :                     n->missing_ok = false;
   32708             :                     (yyval.node) = (Node *) n;
   32709             :                 }
   32710             : #line 32711 "gram.c"
   32711          50 :     break;
   32712             : 
   32713           6 :   case 321: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS  */
   32714             : #line 2588 "gram.y"
   32715             :                                 {
   32716             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32717             : 
   32718             :                     n->subtype = AT_DropIdentity;
   32719             :                     n->name = (yyvsp[-4].str);
   32720             :                     n->missing_ok = true;
   32721             :                     (yyval.node) = (Node *) n;
   32722             :                 }
   32723             : #line 32724 "gram.c"
   32724           6 :     break;
   32725             : 
   32726          18 :   case 322: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior  */
   32727             : #line 2598 "gram.y"
   32728             :                                 {
   32729             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32730             : 
   32731             :                     n->subtype = AT_DropColumn;
   32732             :                     n->name = (yyvsp[-1].str);
   32733             :                     n->behavior = (yyvsp[0].dbehavior);
   32734             :                     n->missing_ok = true;
   32735             :                     (yyval.node) = (Node *) n;
   32736             :                 }
   32737             : #line 32738 "gram.c"
   32738          18 :     break;
   32739             : 
   32740        1574 :   case 323: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior  */
   32741             : #line 2609 "gram.y"
   32742             :                                 {
   32743             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32744             : 
   32745             :                     n->subtype = AT_DropColumn;
   32746             :                     n->name = (yyvsp[-1].str);
   32747             :                     n->behavior = (yyvsp[0].dbehavior);
   32748             :                     n->missing_ok = false;
   32749             :                     (yyval.node) = (Node *) n;
   32750             :                 }
   32751             : #line 32752 "gram.c"
   32752        1574 :     break;
   32753             : 
   32754         994 :   case 324: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using  */
   32755             : #line 2623 "gram.y"
   32756             :                                 {
   32757             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32758             :                     ColumnDef *def = makeNode(ColumnDef);
   32759             : 
   32760             :                     n->subtype = AT_AlterColumnType;
   32761             :                     n->name = (yyvsp[-5].str);
   32762             :                     n->def = (Node *) def;
   32763             :                     /* We only use these fields of the ColumnDef node */
   32764             :                     def->typeName = (yyvsp[-2].typnam);
   32765             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   32766             :                     def->raw_default = (yyvsp[0].node);
   32767             :                     def->location = (yylsp[-5]);
   32768             :                     (yyval.node) = (Node *) n;
   32769             :                 }
   32770             : #line 32771 "gram.c"
   32771         994 :     break;
   32772             : 
   32773          50 :   case 325: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options  */
   32774             : #line 2639 "gram.y"
   32775             :                                 {
   32776             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32777             : 
   32778             :                     n->subtype = AT_AlterColumnGenericOptions;
   32779             :                     n->name = (yyvsp[-1].str);
   32780             :                     n->def = (Node *) (yyvsp[0].list);
   32781             :                     (yyval.node) = (Node *) n;
   32782             :                 }
   32783             : #line 32784 "gram.c"
   32784          50 :     break;
   32785             : 
   32786       14636 :   case 326: /* alter_table_cmd: ADD_P TableConstraint  */
   32787             : #line 2649 "gram.y"
   32788             :                                 {
   32789             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32790             : 
   32791             :                     n->subtype = AT_AddConstraint;
   32792             :                     n->def = (yyvsp[0].node);
   32793             :                     (yyval.node) = (Node *) n;
   32794             :                 }
   32795             : #line 32796 "gram.c"
   32796       14636 :     break;
   32797             : 
   32798         234 :   case 327: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec  */
   32799             : #line 2658 "gram.y"
   32800             :                                 {
   32801             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32802             :                     ATAlterConstraint *c = makeNode(ATAlterConstraint);
   32803             : 
   32804             :                     n->subtype = AT_AlterConstraint;
   32805             :                     n->def = (Node *) c;
   32806             :                     c->conname = (yyvsp[-1].str);
   32807             :                     if ((yyvsp[0].ival) & (CAS_NOT_ENFORCED | CAS_ENFORCED))
   32808             :                         c->alterEnforceability = true;
   32809             :                     if ((yyvsp[0].ival) & (CAS_DEFERRABLE | CAS_NOT_DEFERRABLE |
   32810             :                               CAS_INITIALLY_DEFERRED | CAS_INITIALLY_IMMEDIATE))
   32811             :                         c->alterDeferrability = true;
   32812             :                     if ((yyvsp[0].ival) & CAS_NO_INHERIT)
   32813             :                         c->alterInheritability = true;
   32814             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
   32815             :                                     &c->deferrable,
   32816             :                                     &c->initdeferred,
   32817             :                                     &c->is_enforced,
   32818             :                                     NULL,
   32819             :                                     &c->noinherit,
   32820             :                                     yyscanner);
   32821             :                     (yyval.node) = (Node *) n;
   32822             :                 }
   32823             : #line 32824 "gram.c"
   32824         228 :     break;
   32825             : 
   32826          66 :   case 328: /* alter_table_cmd: ALTER CONSTRAINT name INHERIT  */
   32827             : #line 2683 "gram.y"
   32828             :                                 {
   32829             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32830             :                     ATAlterConstraint *c = makeNode(ATAlterConstraint);
   32831             : 
   32832             :                     n->subtype = AT_AlterConstraint;
   32833             :                     n->def = (Node *) c;
   32834             :                     c->conname = (yyvsp[-1].str);
   32835             :                     c->alterInheritability = true;
   32836             :                     c->noinherit = false;
   32837             : 
   32838             :                     (yyval.node) = (Node *) n;
   32839             :                 }
   32840             : #line 32841 "gram.c"
   32841          66 :     break;
   32842             : 
   32843         476 :   case 329: /* alter_table_cmd: VALIDATE CONSTRAINT name  */
   32844             : #line 2697 "gram.y"
   32845             :                                 {
   32846             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32847             : 
   32848             :                     n->subtype = AT_ValidateConstraint;
   32849             :                     n->name = (yyvsp[0].str);
   32850             :                     (yyval.node) = (Node *) n;
   32851             :                 }
   32852             : #line 32853 "gram.c"
   32853         476 :     break;
   32854             : 
   32855          18 :   case 330: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   32856             : #line 2706 "gram.y"
   32857             :                                 {
   32858             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32859             : 
   32860             :                     n->subtype = AT_DropConstraint;
   32861             :                     n->name = (yyvsp[-1].str);
   32862             :                     n->behavior = (yyvsp[0].dbehavior);
   32863             :                     n->missing_ok = true;
   32864             :                     (yyval.node) = (Node *) n;
   32865             :                 }
   32866             : #line 32867 "gram.c"
   32867          18 :     break;
   32868             : 
   32869         798 :   case 331: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior  */
   32870             : #line 2717 "gram.y"
   32871             :                                 {
   32872             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32873             : 
   32874             :                     n->subtype = AT_DropConstraint;
   32875             :                     n->name = (yyvsp[-1].str);
   32876             :                     n->behavior = (yyvsp[0].dbehavior);
   32877             :                     n->missing_ok = false;
   32878             :                     (yyval.node) = (Node *) n;
   32879             :                 }
   32880             : #line 32881 "gram.c"
   32881         798 :     break;
   32882             : 
   32883           6 :   case 332: /* alter_table_cmd: SET WITHOUT OIDS  */
   32884             : #line 2728 "gram.y"
   32885             :                                 {
   32886             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32887             : 
   32888             :                     n->subtype = AT_DropOids;
   32889             :                     (yyval.node) = (Node *) n;
   32890             :                 }
   32891             : #line 32892 "gram.c"
   32892           6 :     break;
   32893             : 
   32894          46 :   case 333: /* alter_table_cmd: CLUSTER ON name  */
   32895             : #line 2736 "gram.y"
   32896             :                                 {
   32897             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32898             : 
   32899             :                     n->subtype = AT_ClusterOn;
   32900             :                     n->name = (yyvsp[0].str);
   32901             :                     (yyval.node) = (Node *) n;
   32902             :                 }
   32903             : #line 32904 "gram.c"
   32904          46 :     break;
   32905             : 
   32906          18 :   case 334: /* alter_table_cmd: SET WITHOUT CLUSTER  */
   32907             : #line 2745 "gram.y"
   32908             :                                 {
   32909             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32910             : 
   32911             :                     n->subtype = AT_DropCluster;
   32912             :                     n->name = NULL;
   32913             :                     (yyval.node) = (Node *) n;
   32914             :                 }
   32915             : #line 32916 "gram.c"
   32916          18 :     break;
   32917             : 
   32918          50 :   case 335: /* alter_table_cmd: SET LOGGED  */
   32919             : #line 2754 "gram.y"
   32920             :                                 {
   32921             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32922             : 
   32923             :                     n->subtype = AT_SetLogged;
   32924             :                     (yyval.node) = (Node *) n;
   32925             :                 }
   32926             : #line 32927 "gram.c"
   32927          50 :     break;
   32928             : 
   32929          62 :   case 336: /* alter_table_cmd: SET UNLOGGED  */
   32930             : #line 2762 "gram.y"
   32931             :                                 {
   32932             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32933             : 
   32934             :                     n->subtype = AT_SetUnLogged;
   32935             :                     (yyval.node) = (Node *) n;
   32936             :                 }
   32937             : #line 32938 "gram.c"
   32938          62 :     break;
   32939             : 
   32940         122 :   case 337: /* alter_table_cmd: ENABLE_P TRIGGER name  */
   32941             : #line 2770 "gram.y"
   32942             :                                 {
   32943             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32944             : 
   32945             :                     n->subtype = AT_EnableTrig;
   32946             :                     n->name = (yyvsp[0].str);
   32947             :                     (yyval.node) = (Node *) n;
   32948             :                 }
   32949             : #line 32950 "gram.c"
   32950         122 :     break;
   32951             : 
   32952          44 :   case 338: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name  */
   32953             : #line 2779 "gram.y"
   32954             :                                 {
   32955             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32956             : 
   32957             :                     n->subtype = AT_EnableAlwaysTrig;
   32958             :                     n->name = (yyvsp[0].str);
   32959             :                     (yyval.node) = (Node *) n;
   32960             :                 }
   32961             : #line 32962 "gram.c"
   32962          44 :     break;
   32963             : 
   32964          16 :   case 339: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name  */
   32965             : #line 2788 "gram.y"
   32966             :                                 {
   32967             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32968             : 
   32969             :                     n->subtype = AT_EnableReplicaTrig;
   32970             :                     n->name = (yyvsp[0].str);
   32971             :                     (yyval.node) = (Node *) n;
   32972             :                 }
   32973             : #line 32974 "gram.c"
   32974          16 :     break;
   32975             : 
   32976           0 :   case 340: /* alter_table_cmd: ENABLE_P TRIGGER ALL  */
   32977             : #line 2797 "gram.y"
   32978             :                                 {
   32979             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32980             : 
   32981             :                     n->subtype = AT_EnableTrigAll;
   32982             :                     (yyval.node) = (Node *) n;
   32983             :                 }
   32984             : #line 32985 "gram.c"
   32985           0 :     break;
   32986             : 
   32987           0 :   case 341: /* alter_table_cmd: ENABLE_P TRIGGER USER  */
   32988             : #line 2805 "gram.y"
   32989             :                                 {
   32990             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   32991             : 
   32992             :                     n->subtype = AT_EnableTrigUser;
   32993             :                     (yyval.node) = (Node *) n;
   32994             :                 }
   32995             : #line 32996 "gram.c"
   32996           0 :     break;
   32997             : 
   32998         140 :   case 342: /* alter_table_cmd: DISABLE_P TRIGGER name  */
   32999             : #line 2813 "gram.y"
   33000             :                                 {
   33001             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33002             : 
   33003             :                     n->subtype = AT_DisableTrig;
   33004             :                     n->name = (yyvsp[0].str);
   33005             :                     (yyval.node) = (Node *) n;
   33006             :                 }
   33007             : #line 33008 "gram.c"
   33008         140 :     break;
   33009             : 
   33010          12 :   case 343: /* alter_table_cmd: DISABLE_P TRIGGER ALL  */
   33011             : #line 2822 "gram.y"
   33012             :                                 {
   33013             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33014             : 
   33015             :                     n->subtype = AT_DisableTrigAll;
   33016             :                     (yyval.node) = (Node *) n;
   33017             :                 }
   33018             : #line 33019 "gram.c"
   33019          12 :     break;
   33020             : 
   33021          12 :   case 344: /* alter_table_cmd: DISABLE_P TRIGGER USER  */
   33022             : #line 2830 "gram.y"
   33023             :                                 {
   33024             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33025             : 
   33026             :                     n->subtype = AT_DisableTrigUser;
   33027             :                     (yyval.node) = (Node *) n;
   33028             :                 }
   33029             : #line 33030 "gram.c"
   33030          12 :     break;
   33031             : 
   33032           8 :   case 345: /* alter_table_cmd: ENABLE_P RULE name  */
   33033             : #line 2838 "gram.y"
   33034             :                                 {
   33035             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33036             : 
   33037             :                     n->subtype = AT_EnableRule;
   33038             :                     n->name = (yyvsp[0].str);
   33039             :                     (yyval.node) = (Node *) n;
   33040             :                 }
   33041             : #line 33042 "gram.c"
   33042           8 :     break;
   33043             : 
   33044           0 :   case 346: /* alter_table_cmd: ENABLE_P ALWAYS RULE name  */
   33045             : #line 2847 "gram.y"
   33046             :                                 {
   33047             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33048             : 
   33049             :                     n->subtype = AT_EnableAlwaysRule;
   33050             :                     n->name = (yyvsp[0].str);
   33051             :                     (yyval.node) = (Node *) n;
   33052             :                 }
   33053             : #line 33054 "gram.c"
   33054           0 :     break;
   33055             : 
   33056           6 :   case 347: /* alter_table_cmd: ENABLE_P REPLICA RULE name  */
   33057             : #line 2856 "gram.y"
   33058             :                                 {
   33059             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33060             : 
   33061             :                     n->subtype = AT_EnableReplicaRule;
   33062             :                     n->name = (yyvsp[0].str);
   33063             :                     (yyval.node) = (Node *) n;
   33064             :                 }
   33065             : #line 33066 "gram.c"
   33066           6 :     break;
   33067             : 
   33068          38 :   case 348: /* alter_table_cmd: DISABLE_P RULE name  */
   33069             : #line 2865 "gram.y"
   33070             :                                 {
   33071             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33072             : 
   33073             :                     n->subtype = AT_DisableRule;
   33074             :                     n->name = (yyvsp[0].str);
   33075             :                     (yyval.node) = (Node *) n;
   33076             :                 }
   33077             : #line 33078 "gram.c"
   33078          38 :     break;
   33079             : 
   33080         444 :   case 349: /* alter_table_cmd: INHERIT qualified_name  */
   33081             : #line 2874 "gram.y"
   33082             :                                 {
   33083             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33084             : 
   33085             :                     n->subtype = AT_AddInherit;
   33086             :                     n->def = (Node *) (yyvsp[0].range);
   33087             :                     (yyval.node) = (Node *) n;
   33088             :                 }
   33089             : #line 33090 "gram.c"
   33090         444 :     break;
   33091             : 
   33092          86 :   case 350: /* alter_table_cmd: NO INHERIT qualified_name  */
   33093             : #line 2883 "gram.y"
   33094             :                                 {
   33095             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33096             : 
   33097             :                     n->subtype = AT_DropInherit;
   33098             :                     n->def = (Node *) (yyvsp[0].range);
   33099             :                     (yyval.node) = (Node *) n;
   33100             :                 }
   33101             : #line 33102 "gram.c"
   33102          86 :     break;
   33103             : 
   33104          66 :   case 351: /* alter_table_cmd: OF any_name  */
   33105             : #line 2892 "gram.y"
   33106             :                                 {
   33107             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33108             :                     TypeName   *def = makeTypeNameFromNameList((yyvsp[0].list));
   33109             : 
   33110             :                     def->location = (yylsp[0]);
   33111             :                     n->subtype = AT_AddOf;
   33112             :                     n->def = (Node *) def;
   33113             :                     (yyval.node) = (Node *) n;
   33114             :                 }
   33115             : #line 33116 "gram.c"
   33116          66 :     break;
   33117             : 
   33118           6 :   case 352: /* alter_table_cmd: NOT OF  */
   33119             : #line 2903 "gram.y"
   33120             :                                 {
   33121             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33122             : 
   33123             :                     n->subtype = AT_DropOf;
   33124             :                     (yyval.node) = (Node *) n;
   33125             :                 }
   33126             : #line 33127 "gram.c"
   33127           6 :     break;
   33128             : 
   33129        3602 :   case 353: /* alter_table_cmd: OWNER TO RoleSpec  */
   33130             : #line 2911 "gram.y"
   33131             :                                 {
   33132             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33133             : 
   33134             :                     n->subtype = AT_ChangeOwner;
   33135             :                     n->newowner = (yyvsp[0].rolespec);
   33136             :                     (yyval.node) = (Node *) n;
   33137             :                 }
   33138             : #line 33139 "gram.c"
   33139        3602 :     break;
   33140             : 
   33141         128 :   case 354: /* alter_table_cmd: SET ACCESS METHOD set_access_method_name  */
   33142             : #line 2920 "gram.y"
   33143             :                                 {
   33144             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33145             : 
   33146             :                     n->subtype = AT_SetAccessMethod;
   33147             :                     n->name = (yyvsp[0].str);
   33148             :                     (yyval.node) = (Node *) n;
   33149             :                 }
   33150             : #line 33151 "gram.c"
   33151         128 :     break;
   33152             : 
   33153         104 :   case 355: /* alter_table_cmd: SET TABLESPACE name  */
   33154             : #line 2929 "gram.y"
   33155             :                                 {
   33156             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33157             : 
   33158             :                     n->subtype = AT_SetTableSpace;
   33159             :                     n->name = (yyvsp[0].str);
   33160             :                     (yyval.node) = (Node *) n;
   33161             :                 }
   33162             : #line 33163 "gram.c"
   33163         104 :     break;
   33164             : 
   33165         594 :   case 356: /* alter_table_cmd: SET reloptions  */
   33166             : #line 2938 "gram.y"
   33167             :                                 {
   33168             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33169             : 
   33170             :                     n->subtype = AT_SetRelOptions;
   33171             :                     n->def = (Node *) (yyvsp[0].list);
   33172             :                     (yyval.node) = (Node *) n;
   33173             :                 }
   33174             : #line 33175 "gram.c"
   33175         594 :     break;
   33176             : 
   33177         170 :   case 357: /* alter_table_cmd: RESET reloptions  */
   33178             : #line 2947 "gram.y"
   33179             :                                 {
   33180             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33181             : 
   33182             :                     n->subtype = AT_ResetRelOptions;
   33183             :                     n->def = (Node *) (yyvsp[0].list);
   33184             :                     (yyval.node) = (Node *) n;
   33185             :                 }
   33186             : #line 33187 "gram.c"
   33187         170 :     break;
   33188             : 
   33189         490 :   case 358: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity  */
   33190             : #line 2956 "gram.y"
   33191             :                                 {
   33192             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33193             : 
   33194             :                     n->subtype = AT_ReplicaIdentity;
   33195             :                     n->def = (yyvsp[0].node);
   33196             :                     (yyval.node) = (Node *) n;
   33197             :                 }
   33198             : #line 33199 "gram.c"
   33199         490 :     break;
   33200             : 
   33201         308 :   case 359: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY  */
   33202             : #line 2965 "gram.y"
   33203             :                                 {
   33204             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33205             : 
   33206             :                     n->subtype = AT_EnableRowSecurity;
   33207             :                     (yyval.node) = (Node *) n;
   33208             :                 }
   33209             : #line 33210 "gram.c"
   33210         308 :     break;
   33211             : 
   33212          10 :   case 360: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY  */
   33213             : #line 2973 "gram.y"
   33214             :                                 {
   33215             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33216             : 
   33217             :                     n->subtype = AT_DisableRowSecurity;
   33218             :                     (yyval.node) = (Node *) n;
   33219             :                 }
   33220             : #line 33221 "gram.c"
   33221          10 :     break;
   33222             : 
   33223         102 :   case 361: /* alter_table_cmd: FORCE ROW LEVEL SECURITY  */
   33224             : #line 2981 "gram.y"
   33225             :                                 {
   33226             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33227             : 
   33228             :                     n->subtype = AT_ForceRowSecurity;
   33229             :                     (yyval.node) = (Node *) n;
   33230             :                 }
   33231             : #line 33232 "gram.c"
   33232         102 :     break;
   33233             : 
   33234          32 :   case 362: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY  */
   33235             : #line 2989 "gram.y"
   33236             :                                 {
   33237             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33238             : 
   33239             :                     n->subtype = AT_NoForceRowSecurity;
   33240             :                     (yyval.node) = (Node *) n;
   33241             :                 }
   33242             : #line 33243 "gram.c"
   33243          32 :     break;
   33244             : 
   33245          64 :   case 363: /* alter_table_cmd: alter_generic_options  */
   33246             : #line 2996 "gram.y"
   33247             :                                 {
   33248             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33249             : 
   33250             :                     n->subtype = AT_GenericOptions;
   33251             :                     n->def = (Node *) (yyvsp[0].list);
   33252             :                     (yyval.node) = (Node *) n;
   33253             :                 }
   33254             : #line 33255 "gram.c"
   33255          64 :     break;
   33256             : 
   33257         406 :   case 364: /* alter_column_default: SET DEFAULT a_expr  */
   33258             : #line 3006 "gram.y"
   33259             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33260             : #line 33261 "gram.c"
   33261         406 :     break;
   33262             : 
   33263         186 :   case 365: /* alter_column_default: DROP DEFAULT  */
   33264             : #line 3007 "gram.y"
   33265             :                                                                 { (yyval.node) = NULL; }
   33266             : #line 33267 "gram.c"
   33267         186 :     break;
   33268             : 
   33269          18 :   case 366: /* opt_collate_clause: COLLATE any_name  */
   33270             : #line 3012 "gram.y"
   33271             :                                 {
   33272             :                     CollateClause *n = makeNode(CollateClause);
   33273             : 
   33274             :                     n->arg = NULL;
   33275             :                     n->collname = (yyvsp[0].list);
   33276             :                     n->location = (yylsp[-1]);
   33277             :                     (yyval.node) = (Node *) n;
   33278             :                 }
   33279             : #line 33280 "gram.c"
   33280          18 :     break;
   33281             : 
   33282        4774 :   case 367: /* opt_collate_clause: %empty  */
   33283             : #line 3020 "gram.y"
   33284             :                                                                 { (yyval.node) = NULL; }
   33285             : #line 33286 "gram.c"
   33286        4774 :     break;
   33287             : 
   33288         174 :   case 368: /* alter_using: USING a_expr  */
   33289             : #line 3024 "gram.y"
   33290             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   33291             : #line 33292 "gram.c"
   33292         174 :     break;
   33293             : 
   33294         820 :   case 369: /* alter_using: %empty  */
   33295             : #line 3025 "gram.y"
   33296             :                                                                 { (yyval.node) = NULL; }
   33297             : #line 33298 "gram.c"
   33298         820 :     break;
   33299             : 
   33300          48 :   case 370: /* replica_identity: NOTHING  */
   33301             : #line 3030 "gram.y"
   33302             :                                 {
   33303             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33304             : 
   33305             :                     n->identity_type = REPLICA_IDENTITY_NOTHING;
   33306             :                     n->name = NULL;
   33307             :                     (yyval.node) = (Node *) n;
   33308             :                 }
   33309             : #line 33310 "gram.c"
   33310          48 :     break;
   33311             : 
   33312         166 :   case 371: /* replica_identity: FULL  */
   33313             : #line 3038 "gram.y"
   33314             :                                 {
   33315             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33316             : 
   33317             :                     n->identity_type = REPLICA_IDENTITY_FULL;
   33318             :                     n->name = NULL;
   33319             :                     (yyval.node) = (Node *) n;
   33320             :                 }
   33321             : #line 33322 "gram.c"
   33322         166 :     break;
   33323             : 
   33324           6 :   case 372: /* replica_identity: DEFAULT  */
   33325             : #line 3046 "gram.y"
   33326             :                                 {
   33327             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33328             : 
   33329             :                     n->identity_type = REPLICA_IDENTITY_DEFAULT;
   33330             :                     n->name = NULL;
   33331             :                     (yyval.node) = (Node *) n;
   33332             :                 }
   33333             : #line 33334 "gram.c"
   33334           6 :     break;
   33335             : 
   33336         270 :   case 373: /* replica_identity: USING INDEX name  */
   33337             : #line 3054 "gram.y"
   33338             :                                 {
   33339             :                     ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
   33340             : 
   33341             :                     n->identity_type = REPLICA_IDENTITY_INDEX;
   33342             :                     n->name = (yyvsp[0].str);
   33343             :                     (yyval.node) = (Node *) n;
   33344             :                 }
   33345             : #line 33346 "gram.c"
   33346         270 :     break;
   33347             : 
   33348        2774 :   case 374: /* reloptions: '(' reloption_list ')'  */
   33349             : #line 3064 "gram.y"
   33350             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   33351             : #line 33352 "gram.c"
   33352        2774 :     break;
   33353             : 
   33354        1010 :   case 375: /* opt_reloptions: WITH reloptions  */
   33355             : #line 3067 "gram.y"
   33356             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   33357             : #line 33358 "gram.c"
   33358        1010 :     break;
   33359             : 
   33360       23238 :   case 376: /* opt_reloptions: %empty  */
   33361             : #line 3068 "gram.y"
   33362             :                                                                                                 { (yyval.list) = NIL; }
   33363             : #line 33364 "gram.c"
   33364       23238 :     break;
   33365             : 
   33366        2774 :   case 377: /* reloption_list: reloption_elem  */
   33367             : #line 3072 "gram.y"
   33368             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33369             : #line 33370 "gram.c"
   33370        2774 :     break;
   33371             : 
   33372         244 :   case 378: /* reloption_list: reloption_list ',' reloption_elem  */
   33373             : #line 3073 "gram.y"
   33374             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   33375             : #line 33376 "gram.c"
   33376         244 :     break;
   33377             : 
   33378        2370 :   case 379: /* reloption_elem: ColLabel '=' def_arg  */
   33379             : #line 3079 "gram.y"
   33380             :                                 {
   33381             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   33382             :                 }
   33383             : #line 33384 "gram.c"
   33384        2370 :     break;
   33385             : 
   33386         578 :   case 380: /* reloption_elem: ColLabel  */
   33387             : #line 3083 "gram.y"
   33388             :                                 {
   33389             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   33390             :                 }
   33391             : #line 33392 "gram.c"
   33392         578 :     break;
   33393             : 
   33394          64 :   case 381: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg  */
   33395             : #line 3087 "gram.y"
   33396             :                                 {
   33397             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
   33398             :                                              DEFELEM_UNSPEC, (yylsp[-4]));
   33399             :                 }
   33400             : #line 33401 "gram.c"
   33401          64 :     break;
   33402             : 
   33403           6 :   case 382: /* reloption_elem: ColLabel '.' ColLabel  */
   33404             : #line 3092 "gram.y"
   33405             :                                 {
   33406             :                     (yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
   33407             :                 }
   33408             : #line 33409 "gram.c"
   33409           6 :     break;
   33410             : 
   33411          62 :   case 383: /* alter_identity_column_option_list: alter_identity_column_option  */
   33412             : #line 3099 "gram.y"
   33413             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   33414             : #line 33415 "gram.c"
   33415          62 :     break;
   33416             : 
   33417          60 :   case 384: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option  */
   33418             : #line 3101 "gram.y"
   33419             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   33420             : #line 33421 "gram.c"
   33421          60 :     break;
   33422             : 
   33423          24 :   case 385: /* alter_identity_column_option: RESTART  */
   33424             : #line 3106 "gram.y"
   33425             :                                 {
   33426             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   33427             :                 }
   33428             : #line 33429 "gram.c"
   33429          24 :     break;
   33430             : 
   33431           0 :   case 386: /* alter_identity_column_option: RESTART opt_with NumericOnly  */
   33432             : #line 3110 "gram.y"
   33433             :                                 {
   33434             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   33435             :                 }
   33436             : #line 33437 "gram.c"
   33437           0 :     break;
   33438             : 
   33439          54 :   case 387: /* alter_identity_column_option: SET SeqOptElem  */
   33440             : #line 3114 "gram.y"
   33441             :                                 {
   33442             :                     if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
   33443             :                         strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
   33444             :                         strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
   33445             :                         ereport(ERROR,
   33446             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33447             :                                  errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
   33448             :                                  parser_errposition((yylsp[0]))));
   33449             :                     (yyval.defelt) = (yyvsp[0].defelt);
   33450             :                 }
   33451             : #line 33452 "gram.c"
   33452          54 :     break;
   33453             : 
   33454          44 :   case 388: /* alter_identity_column_option: SET GENERATED generated_when  */
   33455             : #line 3125 "gram.y"
   33456             :                                 {
   33457             :                     (yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
   33458             :                 }
   33459             : #line 33460 "gram.c"
   33460          44 :     break;
   33461             : 
   33462         158 :   case 389: /* set_statistics_value: SignedIconst  */
   33463             : #line 3131 "gram.y"
   33464             :                                                                         { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   33465             : #line 33466 "gram.c"
   33466         158 :     break;
   33467             : 
   33468           0 :   case 390: /* set_statistics_value: DEFAULT  */
   33469             : #line 3132 "gram.y"
   33470             :                                                                                 { (yyval.node) = NULL; }
   33471             : #line 33472 "gram.c"
   33472           0 :     break;
   33473             : 
   33474          92 :   case 391: /* set_access_method_name: ColId  */
   33475             : #line 3136 "gram.y"
   33476             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   33477             : #line 33478 "gram.c"
   33478          92 :     break;
   33479             : 
   33480          36 :   case 392: /* set_access_method_name: DEFAULT  */
   33481             : #line 3137 "gram.y"
   33482             :                                                                                 { (yyval.str) = NULL; }
   33483             : #line 33484 "gram.c"
   33484          36 :     break;
   33485             : 
   33486         738 :   case 393: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')'  */
   33487             : #line 3143 "gram.y"
   33488             :                                 {
   33489             :                     ListCell   *lc;
   33490             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33491             : 
   33492             :                     n->strategy = PARTITION_STRATEGY_HASH;
   33493             :                     n->modulus = n->remainder = -1;
   33494             : 
   33495             :                     foreach (lc, (yyvsp[-1].list))
   33496             :                     {
   33497             :                         DefElem    *opt = lfirst_node(DefElem, lc);
   33498             : 
   33499             :                         if (strcmp(opt->defname, "modulus") == 0)
   33500             :                         {
   33501             :                             if (n->modulus != -1)
   33502             :                                 ereport(ERROR,
   33503             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33504             :                                          errmsg("modulus for hash partition provided more than once"),
   33505             :                                          parser_errposition(opt->location)));
   33506             :                             n->modulus = defGetInt32(opt);
   33507             :                         }
   33508             :                         else if (strcmp(opt->defname, "remainder") == 0)
   33509             :                         {
   33510             :                             if (n->remainder != -1)
   33511             :                                 ereport(ERROR,
   33512             :                                         (errcode(ERRCODE_DUPLICATE_OBJECT),
   33513             :                                          errmsg("remainder for hash partition provided more than once"),
   33514             :                                          parser_errposition(opt->location)));
   33515             :                             n->remainder = defGetInt32(opt);
   33516             :                         }
   33517             :                         else
   33518             :                             ereport(ERROR,
   33519             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   33520             :                                      errmsg("unrecognized hash partition bound specification \"%s\"",
   33521             :                                             opt->defname),
   33522             :                                      parser_errposition(opt->location)));
   33523             :                     }
   33524             : 
   33525             :                     if (n->modulus == -1)
   33526             :                         ereport(ERROR,
   33527             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33528             :                                  errmsg("modulus for hash partition must be specified"),
   33529             :                                  parser_errposition((yylsp[-3]))));
   33530             :                     if (n->remainder == -1)
   33531             :                         ereport(ERROR,
   33532             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33533             :                                  errmsg("remainder for hash partition must be specified"),
   33534             :                                  parser_errposition((yylsp[-3]))));
   33535             : 
   33536             :                     n->location = (yylsp[-3]);
   33537             : 
   33538             :                     (yyval.partboundspec) = n;
   33539             :                 }
   33540             : #line 33541 "gram.c"
   33541         738 :     break;
   33542             : 
   33543        5068 :   case 394: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')'  */
   33544             : #line 3198 "gram.y"
   33545             :                                 {
   33546             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33547             : 
   33548             :                     n->strategy = PARTITION_STRATEGY_LIST;
   33549             :                     n->is_default = false;
   33550             :                     n->listdatums = (yyvsp[-1].list);
   33551             :                     n->location = (yylsp[-3]);
   33552             : 
   33553             :                     (yyval.partboundspec) = n;
   33554             :                 }
   33555             : #line 33556 "gram.c"
   33556        5068 :     break;
   33557             : 
   33558        4380 :   case 395: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')'  */
   33559             : #line 3211 "gram.y"
   33560             :                                 {
   33561             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33562             : 
   33563             :                     n->strategy = PARTITION_STRATEGY_RANGE;
   33564             :                     n->is_default = false;
   33565             :                     n->lowerdatums = (yyvsp[-5].list);
   33566             :                     n->upperdatums = (yyvsp[-1].list);
   33567             :                     n->location = (yylsp[-7]);
   33568             : 
   33569             :                     (yyval.partboundspec) = n;
   33570             :                 }
   33571             : #line 33572 "gram.c"
   33572        4380 :     break;
   33573             : 
   33574         622 :   case 396: /* PartitionBoundSpec: DEFAULT  */
   33575             : #line 3225 "gram.y"
   33576             :                                 {
   33577             :                     PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
   33578             : 
   33579             :                     n->is_default = true;
   33580             :                     n->location = (yylsp[0]);
   33581             : 
   33582             :                     (yyval.partboundspec) = n;
   33583             :                 }
   33584             : #line 33585 "gram.c"
   33585         622 :     break;
   33586             : 
   33587        1476 :   case 397: /* hash_partbound_elem: NonReservedWord Iconst  */
   33588             : #line 3237 "gram.y"
   33589             :                         {
   33590             :                 (yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-1]));
   33591             :             }
   33592             : #line 33593 "gram.c"
   33593        1476 :     break;
   33594             : 
   33595         738 :   case 398: /* hash_partbound: hash_partbound_elem  */
   33596             : #line 3244 "gram.y"
   33597             :                         {
   33598             :                 (yyval.list) = list_make1((yyvsp[0].defelt));
   33599             :             }
   33600             : #line 33601 "gram.c"
   33601         738 :     break;
   33602             : 
   33603         738 :   case 399: /* hash_partbound: hash_partbound ',' hash_partbound_elem  */
   33604             : #line 3248 "gram.y"
   33605             :                         {
   33606             :                 (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   33607             :             }
   33608             : #line 33609 "gram.c"
   33609         738 :     break;
   33610             : 
   33611         210 :   case 400: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds  */
   33612             : #line 3262 "gram.y"
   33613             :                                 {
   33614             :                     AlterTableStmt *n = makeNode(AlterTableStmt);
   33615             : 
   33616             :                     /* can't use qualified_name, sigh */
   33617             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
   33618             :                     n->cmds = (yyvsp[0].list);
   33619             :                     n->objtype = OBJECT_TYPE;
   33620             :                     (yyval.node) = (Node *) n;
   33621             :                 }
   33622             : #line 33623 "gram.c"
   33623         210 :     break;
   33624             : 
   33625         210 :   case 401: /* alter_type_cmds: alter_type_cmd  */
   33626             : #line 3274 "gram.y"
   33627             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   33628             : #line 33629 "gram.c"
   33629         210 :     break;
   33630             : 
   33631          12 :   case 402: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd  */
   33632             : #line 3275 "gram.y"
   33633             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   33634             : #line 33635 "gram.c"
   33635          12 :     break;
   33636             : 
   33637          64 :   case 403: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior  */
   33638             : #line 3281 "gram.y"
   33639             :                                 {
   33640             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33641             : 
   33642             :                     n->subtype = AT_AddColumn;
   33643             :                     n->def = (yyvsp[-1].node);
   33644             :                     n->behavior = (yyvsp[0].dbehavior);
   33645             :                     (yyval.node) = (Node *) n;
   33646             :                 }
   33647             : #line 33648 "gram.c"
   33648          64 :     break;
   33649             : 
   33650           6 :   case 404: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior  */
   33651             : #line 3291 "gram.y"
   33652             :                                 {
   33653             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33654             : 
   33655             :                     n->subtype = AT_DropColumn;
   33656             :                     n->name = (yyvsp[-1].str);
   33657             :                     n->behavior = (yyvsp[0].dbehavior);
   33658             :                     n->missing_ok = true;
   33659             :                     (yyval.node) = (Node *) n;
   33660             :                 }
   33661             : #line 33662 "gram.c"
   33662           6 :     break;
   33663             : 
   33664          78 :   case 405: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior  */
   33665             : #line 3302 "gram.y"
   33666             :                                 {
   33667             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33668             : 
   33669             :                     n->subtype = AT_DropColumn;
   33670             :                     n->name = (yyvsp[-1].str);
   33671             :                     n->behavior = (yyvsp[0].dbehavior);
   33672             :                     n->missing_ok = false;
   33673             :                     (yyval.node) = (Node *) n;
   33674             :                 }
   33675             : #line 33676 "gram.c"
   33676          78 :     break;
   33677             : 
   33678          74 :   case 406: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior  */
   33679             : #line 3313 "gram.y"
   33680             :                                 {
   33681             :                     AlterTableCmd *n = makeNode(AlterTableCmd);
   33682             :                     ColumnDef *def = makeNode(ColumnDef);
   33683             : 
   33684             :                     n->subtype = AT_AlterColumnType;
   33685             :                     n->name = (yyvsp[-5].str);
   33686             :                     n->def = (Node *) def;
   33687             :                     n->behavior = (yyvsp[0].dbehavior);
   33688             :                     /* We only use these fields of the ColumnDef node */
   33689             :                     def->typeName = (yyvsp[-2].typnam);
   33690             :                     def->collClause = (CollateClause *) (yyvsp[-1].node);
   33691             :                     def->raw_default = NULL;
   33692             :                     def->location = (yylsp[-5]);
   33693             :                     (yyval.node) = (Node *) n;
   33694             :                 }
   33695             : #line 33696 "gram.c"
   33696          74 :     break;
   33697             : 
   33698        2224 :   case 407: /* ClosePortalStmt: CLOSE cursor_name  */
   33699             : #line 3340 "gram.y"
   33700             :                                 {
   33701             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   33702             : 
   33703             :                     n->portalname = (yyvsp[0].str);
   33704             :                     (yyval.node) = (Node *) n;
   33705             :                 }
   33706             : #line 33707 "gram.c"
   33707        2224 :     break;
   33708             : 
   33709          12 :   case 408: /* ClosePortalStmt: CLOSE ALL  */
   33710             : #line 3347 "gram.y"
   33711             :                                 {
   33712             :                     ClosePortalStmt *n = makeNode(ClosePortalStmt);
   33713             : 
   33714             :                     n->portalname = NULL;
   33715             :                     (yyval.node) = (Node *) n;
   33716             :                 }
   33717             : #line 33718 "gram.c"
   33718          12 :     break;
   33719             : 
   33720       15940 :   case 409: /* CopyStmt: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause  */
   33721             : #line 3383 "gram.y"
   33722             :                                 {
   33723             :                     CopyStmt *n = makeNode(CopyStmt);
   33724             : 
   33725             :                     n->relation = (yyvsp[-8].range);
   33726             :                     n->query = NULL;
   33727             :                     n->attlist = (yyvsp[-7].list);
   33728             :                     n->is_from = (yyvsp[-6].boolean);
   33729             :                     n->is_program = (yyvsp[-5].boolean);
   33730             :                     n->filename = (yyvsp[-4].str);
   33731             :                     n->whereClause = (yyvsp[0].node);
   33732             : 
   33733             :                     if (n->is_program && n->filename == NULL)
   33734             :                         ereport(ERROR,
   33735             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33736             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   33737             :                                  parser_errposition((yylsp[-3]))));
   33738             : 
   33739             :                     if (!n->is_from && n->whereClause != NULL)
   33740             :                         ereport(ERROR,
   33741             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33742             :                                  errmsg("WHERE clause not allowed with COPY TO"),
   33743             :                                  parser_errposition((yylsp[0]))));
   33744             : 
   33745             :                     n->options = NIL;
   33746             :                     /* Concatenate user-supplied flags */
   33747             :                     if ((yyvsp[-9].defelt))
   33748             :                         n->options = lappend(n->options, (yyvsp[-9].defelt));
   33749             :                     if ((yyvsp[-3].defelt))
   33750             :                         n->options = lappend(n->options, (yyvsp[-3].defelt));
   33751             :                     if ((yyvsp[-1].list))
   33752             :                         n->options = list_concat(n->options, (yyvsp[-1].list));
   33753             :                     (yyval.node) = (Node *) n;
   33754             :                 }
   33755             : #line 33756 "gram.c"
   33756       15934 :     break;
   33757             : 
   33758         464 :   case 410: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options  */
   33759             : #line 3417 "gram.y"
   33760             :                                 {
   33761             :                     CopyStmt *n = makeNode(CopyStmt);
   33762             : 
   33763             :                     updatePreparableStmtEnd((yyvsp[-6].node), (yylsp[-5]));
   33764             :                     n->relation = NULL;
   33765             :                     n->query = (yyvsp[-6].node);
   33766             :                     n->attlist = NIL;
   33767             :                     n->is_from = false;
   33768             :                     n->is_program = (yyvsp[-3].boolean);
   33769             :                     n->filename = (yyvsp[-2].str);
   33770             :                     n->options = (yyvsp[0].list);
   33771             : 
   33772             :                     if (n->is_program && n->filename == NULL)
   33773             :                         ereport(ERROR,
   33774             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   33775             :                                  errmsg("STDIN/STDOUT not allowed with PROGRAM"),
   33776             :                                  parser_errposition((yylsp[-4]))));
   33777             : 
   33778             :                     (yyval.node) = (Node *) n;
   33779             :                 }
   33780             : #line 33781 "gram.c"
   33781         464 :     break;
   33782             : 
   33783        3006 :   case 411: /* copy_from: FROM  */
   33784             : #line 3440 "gram.y"
   33785             :                                                                                                 { (yyval.boolean) = true; }
   33786             : #line 33787 "gram.c"
   33787        3006 :     break;
   33788             : 
   33789       12934 :   case 412: /* copy_from: TO  */
   33790             : #line 3441 "gram.y"
   33791             :                                                                                                 { (yyval.boolean) = false; }
   33792             : #line 33793 "gram.c"
   33793       12934 :     break;
   33794             : 
   33795           0 :   case 413: /* opt_program: PROGRAM  */
   33796             : #line 3445 "gram.y"
   33797             :                                                                                                 { (yyval.boolean) = true; }
   33798             : #line 33799 "gram.c"
   33799           0 :     break;
   33800             : 
   33801       16404 :   case 414: /* opt_program: %empty  */
   33802             : #line 3446 "gram.y"
   33803             :                                                                                         { (yyval.boolean) = false; }
   33804             : #line 33805 "gram.c"
   33805       16404 :     break;
   33806             : 
   33807         450 :   case 415: /* copy_file_name: Sconst  */
   33808             : #line 3455 "gram.y"
   33809             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   33810             : #line 33811 "gram.c"
   33811         450 :     break;
   33812             : 
   33813        2620 :   case 416: /* copy_file_name: STDIN  */
   33814             : #line 3456 "gram.y"
   33815             :                                                                                                 { (yyval.str) = NULL; }
   33816             : #line 33817 "gram.c"
   33817        2620 :     break;
   33818             : 
   33819       13334 :   case 417: /* copy_file_name: STDOUT  */
   33820             : #line 3457 "gram.y"
   33821             :                                                                                                 { (yyval.str) = NULL; }
   33822             : #line 33823 "gram.c"
   33823       13334 :     break;
   33824             : 
   33825       15748 :   case 418: /* copy_options: copy_opt_list  */
   33826             : #line 3460 "gram.y"
   33827             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   33828             : #line 33829 "gram.c"
   33829       15748 :     break;
   33830             : 
   33831         656 :   case 419: /* copy_options: '(' copy_generic_opt_list ')'  */
   33832             : #line 3461 "gram.y"
   33833             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   33834             : #line 33835 "gram.c"
   33835         656 :     break;
   33836             : 
   33837         504 :   case 420: /* copy_opt_list: copy_opt_list copy_opt_item  */
   33838             : #line 3466 "gram.y"
   33839             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   33840             : #line 33841 "gram.c"
   33841         504 :     break;
   33842             : 
   33843       15748 :   case 421: /* copy_opt_list: %empty  */
   33844             : #line 3467 "gram.y"
   33845             :                                                                                         { (yyval.list) = NIL; }
   33846             : #line 33847 "gram.c"
   33847       15748 :     break;
   33848             : 
   33849           0 :   case 422: /* copy_opt_item: BINARY  */
   33850             : #line 3472 "gram.y"
   33851             :                                 {
   33852             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   33853             :                 }
   33854             : #line 33855 "gram.c"
   33855           0 :     break;
   33856             : 
   33857          50 :   case 423: /* copy_opt_item: FREEZE  */
   33858             : #line 3476 "gram.y"
   33859             :                                 {
   33860             :                     (yyval.defelt) = makeDefElem("freeze", (Node *) makeBoolean(true), (yylsp[0]));
   33861             :                 }
   33862             : #line 33863 "gram.c"
   33863          50 :     break;
   33864             : 
   33865         172 :   case 424: /* copy_opt_item: DELIMITER opt_as Sconst  */
   33866             : #line 3480 "gram.y"
   33867             :                                 {
   33868             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33869             :                 }
   33870             : #line 33871 "gram.c"
   33871         172 :     break;
   33872             : 
   33873          48 :   case 425: /* copy_opt_item: NULL_P opt_as Sconst  */
   33874             : #line 3484 "gram.y"
   33875             :                                 {
   33876             :                     (yyval.defelt) = makeDefElem("null", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33877             :                 }
   33878             : #line 33879 "gram.c"
   33879          48 :     break;
   33880             : 
   33881         150 :   case 426: /* copy_opt_item: CSV  */
   33882             : #line 3488 "gram.y"
   33883             :                                 {
   33884             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("csv"), (yylsp[0]));
   33885             :                 }
   33886             : #line 33887 "gram.c"
   33887         150 :     break;
   33888             : 
   33889          18 :   case 427: /* copy_opt_item: HEADER_P  */
   33890             : #line 3492 "gram.y"
   33891             :                                 {
   33892             :                     (yyval.defelt) = makeDefElem("header", (Node *) makeBoolean(true), (yylsp[0]));
   33893             :                 }
   33894             : #line 33895 "gram.c"
   33895          18 :     break;
   33896             : 
   33897          18 :   case 428: /* copy_opt_item: QUOTE opt_as Sconst  */
   33898             : #line 3496 "gram.y"
   33899             :                                 {
   33900             :                     (yyval.defelt) = makeDefElem("quote", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33901             :                 }
   33902             : #line 33903 "gram.c"
   33903          18 :     break;
   33904             : 
   33905          18 :   case 429: /* copy_opt_item: ESCAPE opt_as Sconst  */
   33906             : #line 3500 "gram.y"
   33907             :                                 {
   33908             :                     (yyval.defelt) = makeDefElem("escape", (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   33909             :                 }
   33910             : #line 33911 "gram.c"
   33911          18 :     break;
   33912             : 
   33913          12 :   case 430: /* copy_opt_item: FORCE QUOTE columnList  */
   33914             : #line 3504 "gram.y"
   33915             :                                 {
   33916             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) (yyvsp[0].list), (yylsp[-2]));
   33917             :                 }
   33918             : #line 33919 "gram.c"
   33919          12 :     break;
   33920             : 
   33921           6 :   case 431: /* copy_opt_item: FORCE QUOTE '*'  */
   33922             : #line 3508 "gram.y"
   33923             :                                 {
   33924             :                     (yyval.defelt) = makeDefElem("force_quote", (Node *) makeNode(A_Star), (yylsp[-2]));
   33925             :                 }
   33926             : #line 33927 "gram.c"
   33927           6 :     break;
   33928             : 
   33929           0 :   case 432: /* copy_opt_item: FORCE NOT NULL_P columnList  */
   33930             : #line 3512 "gram.y"
   33931             :                                 {
   33932             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) (yyvsp[0].list), (yylsp[-3]));
   33933             :                 }
   33934             : #line 33935 "gram.c"
   33935           0 :     break;
   33936             : 
   33937           0 :   case 433: /* copy_opt_item: FORCE NOT NULL_P '*'  */
   33938             : #line 3516 "gram.y"
   33939             :                                 {
   33940             :                     (yyval.defelt) = makeDefElem("force_not_null", (Node *) makeNode(A_Star), (yylsp[-3]));
   33941             :                 }
   33942             : #line 33943 "gram.c"
   33943           0 :     break;
   33944             : 
   33945           0 :   case 434: /* copy_opt_item: FORCE NULL_P columnList  */
   33946             : #line 3520 "gram.y"
   33947             :                                 {
   33948             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) (yyvsp[0].list), (yylsp[-2]));
   33949             :                 }
   33950             : #line 33951 "gram.c"
   33951           0 :     break;
   33952             : 
   33953           0 :   case 435: /* copy_opt_item: FORCE NULL_P '*'  */
   33954             : #line 3524 "gram.y"
   33955             :                                 {
   33956             :                     (yyval.defelt) = makeDefElem("force_null", (Node *) makeNode(A_Star), (yylsp[-2]));
   33957             :                 }
   33958             : #line 33959 "gram.c"
   33959           0 :     break;
   33960             : 
   33961          12 :   case 436: /* copy_opt_item: ENCODING Sconst  */
   33962             : #line 3528 "gram.y"
   33963             :                                 {
   33964             :                     (yyval.defelt) = makeDefElem("encoding", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   33965             :                 }
   33966             : #line 33967 "gram.c"
   33967          12 :     break;
   33968             : 
   33969          12 :   case 437: /* opt_binary: BINARY  */
   33970             : #line 3537 "gram.y"
   33971             :                                 {
   33972             :                     (yyval.defelt) = makeDefElem("format", (Node *) makeString("binary"), (yylsp[0]));
   33973             :                 }
   33974             : #line 33975 "gram.c"
   33975          12 :     break;
   33976             : 
   33977       15928 :   case 438: /* opt_binary: %empty  */
   33978             : #line 3540 "gram.y"
   33979             :                                                                                                 { (yyval.defelt) = NULL; }
   33980             : #line 33981 "gram.c"
   33981       15928 :     break;
   33982             : 
   33983           0 :   case 439: /* copy_delimiter: opt_using DELIMITERS Sconst  */
   33984             : #line 3545 "gram.y"
   33985             :                                 {
   33986             :                     (yyval.defelt) = makeDefElem("delimiter", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   33987             :                 }
   33988             : #line 33989 "gram.c"
   33989           0 :     break;
   33990             : 
   33991       15940 :   case 440: /* copy_delimiter: %empty  */
   33992             : #line 3548 "gram.y"
   33993             :                                                                                                 { (yyval.defelt) = NULL; }
   33994             : #line 33995 "gram.c"
   33995       15940 :     break;
   33996             : 
   33997         656 :   case 443: /* copy_generic_opt_list: copy_generic_opt_elem  */
   33998             : #line 3559 "gram.y"
   33999             :                                 {
   34000             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   34001             :                 }
   34002             : #line 34003 "gram.c"
   34003         656 :     break;
   34004             : 
   34005         450 :   case 444: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem  */
   34006             : #line 3563 "gram.y"
   34007             :                                 {
   34008             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   34009             :                 }
   34010             : #line 34011 "gram.c"
   34011         450 :     break;
   34012             : 
   34013        1106 :   case 445: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg  */
   34014             : #line 3570 "gram.y"
   34015             :                                 {
   34016             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   34017             :                 }
   34018             : #line 34019 "gram.c"
   34019        1106 :     break;
   34020             : 
   34021         800 :   case 446: /* copy_generic_opt_arg: opt_boolean_or_string  */
   34022             : #line 3576 "gram.y"
   34023             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34024             : #line 34025 "gram.c"
   34025         800 :     break;
   34026             : 
   34027          24 :   case 447: /* copy_generic_opt_arg: NumericOnly  */
   34028             : #line 3577 "gram.y"
   34029             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   34030             : #line 34031 "gram.c"
   34031          24 :     break;
   34032             : 
   34033          90 :   case 448: /* copy_generic_opt_arg: '*'  */
   34034             : #line 3578 "gram.y"
   34035             :                                                                                 { (yyval.node) = (Node *) makeNode(A_Star); }
   34036             : #line 34037 "gram.c"
   34037          90 :     break;
   34038             : 
   34039           6 :   case 449: /* copy_generic_opt_arg: DEFAULT  */
   34040             : #line 3579 "gram.y"
   34041             :                                                         { (yyval.node) = (Node *) makeString("default"); }
   34042             : #line 34043 "gram.c"
   34043           6 :     break;
   34044             : 
   34045         150 :   case 450: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')'  */
   34046             : #line 3580 "gram.y"
   34047             :                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   34048             : #line 34049 "gram.c"
   34049         150 :     break;
   34050             : 
   34051          36 :   case 451: /* copy_generic_opt_arg: %empty  */
   34052             : #line 3581 "gram.y"
   34053             :                                                                         { (yyval.node) = NULL; }
   34054             : #line 34055 "gram.c"
   34055          36 :     break;
   34056             : 
   34057         150 :   case 452: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item  */
   34058             : #line 3586 "gram.y"
   34059             :                                 {
   34060             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34061             :                 }
   34062             : #line 34063 "gram.c"
   34063         150 :     break;
   34064             : 
   34065          12 :   case 453: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item  */
   34066             : #line 3590 "gram.y"
   34067             :                                 {
   34068             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34069             :                 }
   34070             : #line 34071 "gram.c"
   34071          12 :     break;
   34072             : 
   34073         162 :   case 454: /* copy_generic_opt_arg_list_item: opt_boolean_or_string  */
   34074             : #line 3597 "gram.y"
   34075             :                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   34076             : #line 34077 "gram.c"
   34077         162 :     break;
   34078             : 
   34079       30708 :   case 455: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34080             : #line 3611 "gram.y"
   34081             :                                 {
   34082             :                     CreateStmt *n = makeNode(CreateStmt);
   34083             : 
   34084             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
   34085             :                     n->relation = (yyvsp[-9].range);
   34086             :                     n->tableElts = (yyvsp[-7].list);
   34087             :                     n->inhRelations = (yyvsp[-5].list);
   34088             :                     n->partspec = (yyvsp[-4].partspec);
   34089             :                     n->ofTypename = NULL;
   34090             :                     n->constraints = NIL;
   34091             :                     n->accessMethod = (yyvsp[-3].str);
   34092             :                     n->options = (yyvsp[-2].list);
   34093             :                     n->oncommit = (yyvsp[-1].oncommit);
   34094             :                     n->tablespacename = (yyvsp[0].str);
   34095             :                     n->if_not_exists = false;
   34096             :                     (yyval.node) = (Node *) n;
   34097             :                 }
   34098             : #line 34099 "gram.c"
   34099       30708 :     break;
   34100             : 
   34101          30 :   case 456: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34102             : #line 3631 "gram.y"
   34103             :                                 {
   34104             :                     CreateStmt *n = makeNode(CreateStmt);
   34105             : 
   34106             :                     (yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
   34107             :                     n->relation = (yyvsp[-9].range);
   34108             :                     n->tableElts = (yyvsp[-7].list);
   34109             :                     n->inhRelations = (yyvsp[-5].list);
   34110             :                     n->partspec = (yyvsp[-4].partspec);
   34111             :                     n->ofTypename = NULL;
   34112             :                     n->constraints = NIL;
   34113             :                     n->accessMethod = (yyvsp[-3].str);
   34114             :                     n->options = (yyvsp[-2].list);
   34115             :                     n->oncommit = (yyvsp[-1].oncommit);
   34116             :                     n->tablespacename = (yyvsp[0].str);
   34117             :                     n->if_not_exists = true;
   34118             :                     (yyval.node) = (Node *) n;
   34119             :                 }
   34120             : #line 34121 "gram.c"
   34121          30 :     break;
   34122             : 
   34123         134 :   case 457: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34124             : #line 3651 "gram.y"
   34125             :                                 {
   34126             :                     CreateStmt *n = makeNode(CreateStmt);
   34127             : 
   34128             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
   34129             :                     n->relation = (yyvsp[-8].range);
   34130             :                     n->tableElts = (yyvsp[-5].list);
   34131             :                     n->inhRelations = NIL;
   34132             :                     n->partspec = (yyvsp[-4].partspec);
   34133             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34134             :                     n->ofTypename->location = (yylsp[-6]);
   34135             :                     n->constraints = NIL;
   34136             :                     n->accessMethod = (yyvsp[-3].str);
   34137             :                     n->options = (yyvsp[-2].list);
   34138             :                     n->oncommit = (yyvsp[-1].oncommit);
   34139             :                     n->tablespacename = (yyvsp[0].str);
   34140             :                     n->if_not_exists = false;
   34141             :                     (yyval.node) = (Node *) n;
   34142             :                 }
   34143             : #line 34144 "gram.c"
   34144         134 :     break;
   34145             : 
   34146           6 :   case 458: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34147             : #line 3672 "gram.y"
   34148             :                                 {
   34149             :                     CreateStmt *n = makeNode(CreateStmt);
   34150             : 
   34151             :                     (yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
   34152             :                     n->relation = (yyvsp[-8].range);
   34153             :                     n->tableElts = (yyvsp[-5].list);
   34154             :                     n->inhRelations = NIL;
   34155             :                     n->partspec = (yyvsp[-4].partspec);
   34156             :                     n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
   34157             :                     n->ofTypename->location = (yylsp[-6]);
   34158             :                     n->constraints = NIL;
   34159             :                     n->accessMethod = (yyvsp[-3].str);
   34160             :                     n->options = (yyvsp[-2].list);
   34161             :                     n->oncommit = (yyvsp[-1].oncommit);
   34162             :                     n->tablespacename = (yyvsp[0].str);
   34163             :                     n->if_not_exists = true;
   34164             :                     (yyval.node) = (Node *) n;
   34165             :                 }
   34166             : #line 34167 "gram.c"
   34167           6 :     break;
   34168             : 
   34169        7886 :   case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34170             : #line 3693 "gram.y"
   34171             :                                 {
   34172             :                     CreateStmt *n = makeNode(CreateStmt);
   34173             : 
   34174             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
   34175             :                     n->relation = (yyvsp[-10].range);
   34176             :                     n->tableElts = (yyvsp[-6].list);
   34177             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34178             :                     n->partbound = (yyvsp[-5].partboundspec);
   34179             :                     n->partspec = (yyvsp[-4].partspec);
   34180             :                     n->ofTypename = NULL;
   34181             :                     n->constraints = NIL;
   34182             :                     n->accessMethod = (yyvsp[-3].str);
   34183             :                     n->options = (yyvsp[-2].list);
   34184             :                     n->oncommit = (yyvsp[-1].oncommit);
   34185             :                     n->tablespacename = (yyvsp[0].str);
   34186             :                     n->if_not_exists = false;
   34187             :                     (yyval.node) = (Node *) n;
   34188             :                 }
   34189             : #line 34190 "gram.c"
   34190        7886 :     break;
   34191             : 
   34192           0 :   case 460: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   34193             : #line 3714 "gram.y"
   34194             :                                 {
   34195             :                     CreateStmt *n = makeNode(CreateStmt);
   34196             : 
   34197             :                     (yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
   34198             :                     n->relation = (yyvsp[-10].range);
   34199             :                     n->tableElts = (yyvsp[-6].list);
   34200             :                     n->inhRelations = list_make1((yyvsp[-7].range));
   34201             :                     n->partbound = (yyvsp[-5].partboundspec);
   34202             :                     n->partspec = (yyvsp[-4].partspec);
   34203             :                     n->ofTypename = NULL;
   34204             :                     n->constraints = NIL;
   34205             :                     n->accessMethod = (yyvsp[-3].str);
   34206             :                     n->options = (yyvsp[-2].list);
   34207             :                     n->oncommit = (yyvsp[-1].oncommit);
   34208             :                     n->tablespacename = (yyvsp[0].str);
   34209             :                     n->if_not_exists = true;
   34210             :                     (yyval.node) = (Node *) n;
   34211             :                 }
   34212             : #line 34213 "gram.c"
   34213           0 :     break;
   34214             : 
   34215         336 :   case 461: /* OptTemp: TEMPORARY  */
   34216             : #line 3745 "gram.y"
   34217             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34218             : #line 34219 "gram.c"
   34219         336 :     break;
   34220             : 
   34221        2720 :   case 462: /* OptTemp: TEMP  */
   34222             : #line 3746 "gram.y"
   34223             :                                                                         { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34224             : #line 34225 "gram.c"
   34225        2720 :     break;
   34226             : 
   34227           0 :   case 463: /* OptTemp: LOCAL TEMPORARY  */
   34228             : #line 3747 "gram.y"
   34229             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34230             : #line 34231 "gram.c"
   34231           0 :     break;
   34232             : 
   34233           0 :   case 464: /* OptTemp: LOCAL TEMP  */
   34234             : #line 3748 "gram.y"
   34235             :                                                                 { (yyval.ival) = RELPERSISTENCE_TEMP; }
   34236             : #line 34237 "gram.c"
   34237           0 :     break;
   34238             : 
   34239           0 :   case 465: /* OptTemp: GLOBAL TEMPORARY  */
   34240             : #line 3750 "gram.y"
   34241             :                                 {
   34242             :                     ereport(WARNING,
   34243             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34244             :                              parser_errposition((yylsp[-1]))));
   34245             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34246             :                 }
   34247             : #line 34248 "gram.c"
   34248           0 :     break;
   34249             : 
   34250           0 :   case 466: /* OptTemp: GLOBAL TEMP  */
   34251             : #line 3757 "gram.y"
   34252             :                                 {
   34253             :                     ereport(WARNING,
   34254             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   34255             :                              parser_errposition((yylsp[-1]))));
   34256             :                     (yyval.ival) = RELPERSISTENCE_TEMP;
   34257             :                 }
   34258             : #line 34259 "gram.c"
   34259           0 :     break;
   34260             : 
   34261         170 :   case 467: /* OptTemp: UNLOGGED  */
   34262             : #line 3763 "gram.y"
   34263             :                                                                         { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   34264             : #line 34265 "gram.c"
   34265         170 :     break;
   34266             : 
   34267       54406 :   case 468: /* OptTemp: %empty  */
   34268             : #line 3764 "gram.y"
   34269             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   34270             : #line 34271 "gram.c"
   34271       54406 :     break;
   34272             : 
   34273       29534 :   case 469: /* OptTableElementList: TableElementList  */
   34274             : #line 3768 "gram.y"
   34275             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   34276             : #line 34277 "gram.c"
   34277       29534 :     break;
   34278             : 
   34279        1646 :   case 470: /* OptTableElementList: %empty  */
   34280             : #line 3769 "gram.y"
   34281             :                                                                                         { (yyval.list) = NIL; }
   34282             : #line 34283 "gram.c"
   34283        1646 :     break;
   34284             : 
   34285         354 :   case 471: /* OptTypedTableElementList: '(' TypedTableElementList ')'  */
   34286             : #line 3773 "gram.y"
   34287             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   34288             : #line 34289 "gram.c"
   34289         354 :     break;
   34290             : 
   34291        7768 :   case 472: /* OptTypedTableElementList: %empty  */
   34292             : #line 3774 "gram.y"
   34293             :                                                                                         { (yyval.list) = NIL; }
   34294             : #line 34295 "gram.c"
   34295        7768 :     break;
   34296             : 
   34297       29588 :   case 473: /* TableElementList: TableElement  */
   34298             : #line 3779 "gram.y"
   34299             :                                 {
   34300             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34301             :                 }
   34302             : #line 34303 "gram.c"
   34303       29588 :     break;
   34304             : 
   34305       44310 :   case 474: /* TableElementList: TableElementList ',' TableElement  */
   34306             : #line 3783 "gram.y"
   34307             :                                 {
   34308             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34309             :                 }
   34310             : #line 34311 "gram.c"
   34311       44310 :     break;
   34312             : 
   34313         354 :   case 475: /* TypedTableElementList: TypedTableElement  */
   34314             : #line 3790 "gram.y"
   34315             :                                 {
   34316             :                     (yyval.list) = list_make1((yyvsp[0].node));
   34317             :                 }
   34318             : #line 34319 "gram.c"
   34319         354 :     break;
   34320             : 
   34321          70 :   case 476: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement  */
   34322             : #line 3794 "gram.y"
   34323             :                                 {
   34324             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   34325             :                 }
   34326             : #line 34327 "gram.c"
   34327          70 :     break;
   34328             : 
   34329       70368 :   case 477: /* TableElement: columnDef  */
   34330             : #line 3800 "gram.y"
   34331             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34332             : #line 34333 "gram.c"
   34333       70368 :     break;
   34334             : 
   34335         774 :   case 478: /* TableElement: TableLikeClause  */
   34336             : #line 3801 "gram.y"
   34337             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34338             : #line 34339 "gram.c"
   34339         774 :     break;
   34340             : 
   34341        2756 :   case 479: /* TableElement: TableConstraint  */
   34342             : #line 3802 "gram.y"
   34343             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34344             : #line 34345 "gram.c"
   34345        2756 :     break;
   34346             : 
   34347         354 :   case 480: /* TypedTableElement: columnOptions  */
   34348             : #line 3806 "gram.y"
   34349             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34350             : #line 34351 "gram.c"
   34351         354 :     break;
   34352             : 
   34353          70 :   case 481: /* TypedTableElement: TableConstraint  */
   34354             : #line 3807 "gram.y"
   34355             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   34356             : #line 34357 "gram.c"
   34357          70 :     break;
   34358             : 
   34359       72510 :   case 482: /* columnDef: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList  */
   34360             : #line 3811 "gram.y"
   34361             :                                 {
   34362             :                     ColumnDef *n = makeNode(ColumnDef);
   34363             : 
   34364             :                     n->colname = (yyvsp[-5].str);
   34365             :                     n->typeName = (yyvsp[-4].typnam);
   34366             :                     n->storage_name = (yyvsp[-3].str);
   34367             :                     n->compression = (yyvsp[-2].str);
   34368             :                     n->inhcount = 0;
   34369             :                     n->is_local = true;
   34370             :                     n->is_not_null = false;
   34371             :                     n->is_from_type = false;
   34372             :                     n->storage = 0;
   34373             :                     n->raw_default = NULL;
   34374             :                     n->cooked_default = NULL;
   34375             :                     n->collOid = InvalidOid;
   34376             :                     n->fdwoptions = (yyvsp[-1].list);
   34377             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34378             :                                      yyscanner);
   34379             :                     n->location = (yylsp[-5]);
   34380             :                     (yyval.node) = (Node *) n;
   34381             :                 }
   34382             : #line 34383 "gram.c"
   34383       72510 :     break;
   34384             : 
   34385         146 :   case 483: /* columnOptions: ColId ColQualList  */
   34386             : #line 3835 "gram.y"
   34387             :                                 {
   34388             :                     ColumnDef *n = makeNode(ColumnDef);
   34389             : 
   34390             :                     n->colname = (yyvsp[-1].str);
   34391             :                     n->typeName = NULL;
   34392             :                     n->inhcount = 0;
   34393             :                     n->is_local = true;
   34394             :                     n->is_not_null = false;
   34395             :                     n->is_from_type = false;
   34396             :                     n->storage = 0;
   34397             :                     n->raw_default = NULL;
   34398             :                     n->cooked_default = NULL;
   34399             :                     n->collOid = InvalidOid;
   34400             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34401             :                                      yyscanner);
   34402             :                     n->location = (yylsp[-1]);
   34403             :                     (yyval.node) = (Node *) n;
   34404             :                 }
   34405             : #line 34406 "gram.c"
   34406         146 :     break;
   34407             : 
   34408         208 :   case 484: /* columnOptions: ColId WITH OPTIONS ColQualList  */
   34409             : #line 3854 "gram.y"
   34410             :                                 {
   34411             :                     ColumnDef *n = makeNode(ColumnDef);
   34412             : 
   34413             :                     n->colname = (yyvsp[-3].str);
   34414             :                     n->typeName = NULL;
   34415             :                     n->inhcount = 0;
   34416             :                     n->is_local = true;
   34417             :                     n->is_not_null = false;
   34418             :                     n->is_from_type = false;
   34419             :                     n->storage = 0;
   34420             :                     n->raw_default = NULL;
   34421             :                     n->cooked_default = NULL;
   34422             :                     n->collOid = InvalidOid;
   34423             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   34424             :                                      yyscanner);
   34425             :                     n->location = (yylsp[-3]);
   34426             :                     (yyval.node) = (Node *) n;
   34427             :                 }
   34428             : #line 34429 "gram.c"
   34429         208 :     break;
   34430             : 
   34431         166 :   case 485: /* column_compression: COMPRESSION ColId  */
   34432             : #line 3875 "gram.y"
   34433             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34434             : #line 34435 "gram.c"
   34435         166 :     break;
   34436             : 
   34437           6 :   case 486: /* column_compression: COMPRESSION DEFAULT  */
   34438             : #line 3876 "gram.y"
   34439             :                                                                                 { (yyval.str) = pstrdup("default"); }
   34440             : #line 34441 "gram.c"
   34441           6 :     break;
   34442             : 
   34443          82 :   case 487: /* opt_column_compression: column_compression  */
   34444             : #line 3880 "gram.y"
   34445             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34446             : #line 34447 "gram.c"
   34447          82 :     break;
   34448             : 
   34449       72494 :   case 488: /* opt_column_compression: %empty  */
   34450             : #line 3881 "gram.y"
   34451             :                                                                                                 { (yyval.str) = NULL; }
   34452             : #line 34453 "gram.c"
   34453       72494 :     break;
   34454             : 
   34455         238 :   case 489: /* column_storage: STORAGE ColId  */
   34456             : #line 3885 "gram.y"
   34457             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34458             : #line 34459 "gram.c"
   34459         238 :     break;
   34460             : 
   34461           6 :   case 490: /* column_storage: STORAGE DEFAULT  */
   34462             : #line 3886 "gram.y"
   34463             :                                                                                         { (yyval.str) = pstrdup("default"); }
   34464             : #line 34465 "gram.c"
   34465           6 :     break;
   34466             : 
   34467          20 :   case 491: /* opt_column_storage: column_storage  */
   34468             : #line 3890 "gram.y"
   34469             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   34470             : #line 34471 "gram.c"
   34471          20 :     break;
   34472             : 
   34473       72556 :   case 492: /* opt_column_storage: %empty  */
   34474             : #line 3891 "gram.y"
   34475             :                                                                                                 { (yyval.str) = NULL; }
   34476             : #line 34477 "gram.c"
   34477       72556 :     break;
   34478             : 
   34479       20374 :   case 493: /* ColQualList: ColQualList ColConstraint  */
   34480             : #line 3895 "gram.y"
   34481             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   34482             : #line 34483 "gram.c"
   34483       20374 :     break;
   34484             : 
   34485       74404 :   case 494: /* ColQualList: %empty  */
   34486             : #line 3896 "gram.y"
   34487             :                                                                                                 { (yyval.list) = NIL; }
   34488             : #line 34489 "gram.c"
   34489       74404 :     break;
   34490             : 
   34491         938 :   case 495: /* ColConstraint: CONSTRAINT name ColConstraintElem  */
   34492             : #line 3901 "gram.y"
   34493             :                                 {
   34494             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   34495             : 
   34496             :                     n->conname = (yyvsp[-1].str);
   34497             :                     n->location = (yylsp[-2]);
   34498             :                     (yyval.node) = (Node *) n;
   34499             :                 }
   34500             : #line 34501 "gram.c"
   34501         938 :     break;
   34502             : 
   34503       18382 :   case 496: /* ColConstraint: ColConstraintElem  */
   34504             : #line 3908 "gram.y"
   34505             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34506             : #line 34507 "gram.c"
   34507       18382 :     break;
   34508             : 
   34509         294 :   case 497: /* ColConstraint: ConstraintAttr  */
   34510             : #line 3909 "gram.y"
   34511             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34512             : #line 34513 "gram.c"
   34513         294 :     break;
   34514             : 
   34515         760 :   case 498: /* ColConstraint: COLLATE any_name  */
   34516             : #line 3911 "gram.y"
   34517             :                                 {
   34518             :                     /*
   34519             :                      * Note: the CollateClause is momentarily included in
   34520             :                      * the list built by ColQualList, but we split it out
   34521             :                      * again in SplitColQualList.
   34522             :                      */
   34523             :                     CollateClause *n = makeNode(CollateClause);
   34524             : 
   34525             :                     n->arg = NULL;
   34526             :                     n->collname = (yyvsp[0].list);
   34527             :                     n->location = (yylsp[-1]);
   34528             :                     (yyval.node) = (Node *) n;
   34529             :                 }
   34530             : #line 34531 "gram.c"
   34531         760 :     break;
   34532             : 
   34533        7126 :   case 499: /* ColConstraintElem: NOT NULL_P opt_no_inherit  */
   34534             : #line 3943 "gram.y"
   34535             :                                 {
   34536             :                     Constraint *n = makeNode(Constraint);
   34537             : 
   34538             :                     n->contype = CONSTR_NOTNULL;
   34539             :                     n->location = (yylsp[-2]);
   34540             :                     n->is_no_inherit = (yyvsp[0].boolean);
   34541             :                     n->is_enforced = true;
   34542             :                     n->skip_validation = false;
   34543             :                     n->initially_valid = true;
   34544             :                     (yyval.node) = (Node *) n;
   34545             :                 }
   34546             : #line 34547 "gram.c"
   34547        7126 :     break;
   34548             : 
   34549          30 :   case 500: /* ColConstraintElem: NULL_P  */
   34550             : #line 3955 "gram.y"
   34551             :                                 {
   34552             :                     Constraint *n = makeNode(Constraint);
   34553             : 
   34554             :                     n->contype = CONSTR_NULL;
   34555             :                     n->location = (yylsp[0]);
   34556             :                     (yyval.node) = (Node *) n;
   34557             :                 }
   34558             : #line 34559 "gram.c"
   34559          30 :     break;
   34560             : 
   34561         446 :   case 501: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace  */
   34562             : #line 3963 "gram.y"
   34563             :                                 {
   34564             :                     Constraint *n = makeNode(Constraint);
   34565             : 
   34566             :                     n->contype = CONSTR_UNIQUE;
   34567             :                     n->location = (yylsp[-3]);
   34568             :                     n->nulls_not_distinct = !(yyvsp[-2].boolean);
   34569             :                     n->keys = NULL;
   34570             :                     n->options = (yyvsp[-1].list);
   34571             :                     n->indexname = NULL;
   34572             :                     n->indexspace = (yyvsp[0].str);
   34573             :                     (yyval.node) = (Node *) n;
   34574             :                 }
   34575             : #line 34576 "gram.c"
   34576         446 :     break;
   34577             : 
   34578        5754 :   case 502: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace  */
   34579             : #line 3976 "gram.y"
   34580             :                                 {
   34581             :                     Constraint *n = makeNode(Constraint);
   34582             : 
   34583             :                     n->contype = CONSTR_PRIMARY;
   34584             :                     n->location = (yylsp[-3]);
   34585             :                     n->keys = NULL;
   34586             :                     n->options = (yyvsp[-1].list);
   34587             :                     n->indexname = NULL;
   34588             :                     n->indexspace = (yyvsp[0].str);
   34589             :                     (yyval.node) = (Node *) n;
   34590             :                 }
   34591             : #line 34592 "gram.c"
   34592        5754 :     break;
   34593             : 
   34594        1104 :   case 503: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit  */
   34595             : #line 3988 "gram.y"
   34596             :                                 {
   34597             :                     Constraint *n = makeNode(Constraint);
   34598             : 
   34599             :                     n->contype = CONSTR_CHECK;
   34600             :                     n->location = (yylsp[-4]);
   34601             :                     n->is_no_inherit = (yyvsp[0].boolean);
   34602             :                     n->raw_expr = (yyvsp[-2].node);
   34603             :                     n->cooked_expr = NULL;
   34604             :                     n->is_enforced = true;
   34605             :                     n->skip_validation = false;
   34606             :                     n->initially_valid = true;
   34607             :                     (yyval.node) = (Node *) n;
   34608             :                 }
   34609             : #line 34610 "gram.c"
   34610        1104 :     break;
   34611             : 
   34612        1882 :   case 504: /* ColConstraintElem: DEFAULT b_expr  */
   34613             : #line 4002 "gram.y"
   34614             :                                 {
   34615             :                     Constraint *n = makeNode(Constraint);
   34616             : 
   34617             :                     n->contype = CONSTR_DEFAULT;
   34618             :                     n->location = (yylsp[-1]);
   34619             :                     n->raw_expr = (yyvsp[0].node);
   34620             :                     n->cooked_expr = NULL;
   34621             :                     (yyval.node) = (Node *) n;
   34622             :                 }
   34623             : #line 34624 "gram.c"
   34624        1882 :     break;
   34625             : 
   34626         332 :   case 505: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList  */
   34627             : #line 4012 "gram.y"
   34628             :                                 {
   34629             :                     Constraint *n = makeNode(Constraint);
   34630             : 
   34631             :                     n->contype = CONSTR_IDENTITY;
   34632             :                     n->generated_when = (yyvsp[-3].ival);
   34633             :                     n->options = (yyvsp[0].list);
   34634             :                     n->location = (yylsp[-4]);
   34635             :                     (yyval.node) = (Node *) n;
   34636             :                 }
   34637             : #line 34638 "gram.c"
   34638         332 :     break;
   34639             : 
   34640        1830 :   case 506: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' opt_virtual_or_stored  */
   34641             : #line 4022 "gram.y"
   34642             :                                 {
   34643             :                     Constraint *n = makeNode(Constraint);
   34644             : 
   34645             :                     n->contype = CONSTR_GENERATED;
   34646             :                     n->generated_when = (yyvsp[-5].ival);
   34647             :                     n->raw_expr = (yyvsp[-2].node);
   34648             :                     n->cooked_expr = NULL;
   34649             :                     n->generated_kind = (yyvsp[0].ival);
   34650             :                     n->location = (yylsp[-6]);
   34651             : 
   34652             :                     /*
   34653             :                      * Can't do this in the grammar because of shift/reduce
   34654             :                      * conflicts.  (IDENTITY allows both ALWAYS and BY
   34655             :                      * DEFAULT, but generated columns only allow ALWAYS.)  We
   34656             :                      * can also give a more useful error message and location.
   34657             :                      */
   34658             :                     if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
   34659             :                         ereport(ERROR,
   34660             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   34661             :                                  errmsg("for a generated column, GENERATED ALWAYS must be specified"),
   34662             :                                  parser_errposition((yylsp[-5]))));
   34663             : 
   34664             :                     (yyval.node) = (Node *) n;
   34665             :                 }
   34666             : #line 34667 "gram.c"
   34667        1818 :     break;
   34668             : 
   34669         828 :   case 507: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions  */
   34670             : #line 4047 "gram.y"
   34671             :                                 {
   34672             :                     Constraint *n = makeNode(Constraint);
   34673             : 
   34674             :                     n->contype = CONSTR_FOREIGN;
   34675             :                     n->location = (yylsp[-4]);
   34676             :                     n->pktable = (yyvsp[-3].range);
   34677             :                     n->fk_attrs = NIL;
   34678             :                     n->pk_attrs = (yyvsp[-2].list);
   34679             :                     n->fk_matchtype = (yyvsp[-1].ival);
   34680             :                     n->fk_upd_action = ((yyvsp[0].keyactions))->updateAction->action;
   34681             :                     n->fk_del_action = ((yyvsp[0].keyactions))->deleteAction->action;
   34682             :                     n->fk_del_set_cols = ((yyvsp[0].keyactions))->deleteAction->cols;
   34683             :                     n->is_enforced = true;
   34684             :                     n->skip_validation = false;
   34685             :                     n->initially_valid = true;
   34686             :                     (yyval.node) = (Node *) n;
   34687             :                 }
   34688             : #line 34689 "gram.c"
   34689         828 :     break;
   34690             : 
   34691          12 :   case 508: /* opt_unique_null_treatment: NULLS_P DISTINCT  */
   34692             : #line 4067 "gram.y"
   34693             :                                                         { (yyval.boolean) = true; }
   34694             : #line 34695 "gram.c"
   34695          12 :     break;
   34696             : 
   34697          36 :   case 509: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT  */
   34698             : #line 4068 "gram.y"
   34699             :                                                 { (yyval.boolean) = false; }
   34700             : #line 34701 "gram.c"
   34701          36 :     break;
   34702             : 
   34703        7876 :   case 510: /* opt_unique_null_treatment: %empty  */
   34704             : #line 4069 "gram.y"
   34705             :                                                                 { (yyval.boolean) = true; }
   34706             : #line 34707 "gram.c"
   34707        7876 :     break;
   34708             : 
   34709        2218 :   case 511: /* generated_when: ALWAYS  */
   34710             : #line 4073 "gram.y"
   34711             :                                                 { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
   34712             : #line 34713 "gram.c"
   34713        2218 :     break;
   34714             : 
   34715         198 :   case 512: /* generated_when: BY DEFAULT  */
   34716             : #line 4074 "gram.y"
   34717             :                                         { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
   34718             : #line 34719 "gram.c"
   34719         198 :     break;
   34720             : 
   34721        1038 :   case 513: /* opt_virtual_or_stored: STORED  */
   34722             : #line 4078 "gram.y"
   34723             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_STORED; }
   34724             : #line 34725 "gram.c"
   34725        1038 :     break;
   34726             : 
   34727         616 :   case 514: /* opt_virtual_or_stored: VIRTUAL  */
   34728             : #line 4079 "gram.y"
   34729             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; }
   34730             : #line 34731 "gram.c"
   34731         616 :     break;
   34732             : 
   34733         176 :   case 515: /* opt_virtual_or_stored: %empty  */
   34734             : #line 4080 "gram.y"
   34735             :                                                 { (yyval.ival) = ATTRIBUTE_GENERATED_VIRTUAL; }
   34736             : #line 34737 "gram.c"
   34737         176 :     break;
   34738             : 
   34739         102 :   case 516: /* ConstraintAttr: DEFERRABLE  */
   34740             : #line 4100 "gram.y"
   34741             :                                 {
   34742             :                     Constraint *n = makeNode(Constraint);
   34743             : 
   34744             :                     n->contype = CONSTR_ATTR_DEFERRABLE;
   34745             :                     n->location = (yylsp[0]);
   34746             :                     (yyval.node) = (Node *) n;
   34747             :                 }
   34748             : #line 34749 "gram.c"
   34749         102 :     break;
   34750             : 
   34751           0 :   case 517: /* ConstraintAttr: NOT DEFERRABLE  */
   34752             : #line 4108 "gram.y"
   34753             :                                 {
   34754             :                     Constraint *n = makeNode(Constraint);
   34755             : 
   34756             :                     n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
   34757             :                     n->location = (yylsp[-1]);
   34758             :                     (yyval.node) = (Node *) n;
   34759             :                 }
   34760             : #line 34761 "gram.c"
   34761           0 :     break;
   34762             : 
   34763          78 :   case 518: /* ConstraintAttr: INITIALLY DEFERRED  */
   34764             : #line 4116 "gram.y"
   34765             :                                 {
   34766             :                     Constraint *n = makeNode(Constraint);
   34767             : 
   34768             :                     n->contype = CONSTR_ATTR_DEFERRED;
   34769             :                     n->location = (yylsp[-1]);
   34770             :                     (yyval.node) = (Node *) n;
   34771             :                 }
   34772             : #line 34773 "gram.c"
   34773          78 :     break;
   34774             : 
   34775           6 :   case 519: /* ConstraintAttr: INITIALLY IMMEDIATE  */
   34776             : #line 4124 "gram.y"
   34777             :                                 {
   34778             :                     Constraint *n = makeNode(Constraint);
   34779             : 
   34780             :                     n->contype = CONSTR_ATTR_IMMEDIATE;
   34781             :                     n->location = (yylsp[-1]);
   34782             :                     (yyval.node) = (Node *) n;
   34783             :                 }
   34784             : #line 34785 "gram.c"
   34785           6 :     break;
   34786             : 
   34787          42 :   case 520: /* ConstraintAttr: ENFORCED  */
   34788             : #line 4132 "gram.y"
   34789             :                                 {
   34790             :                     Constraint *n = makeNode(Constraint);
   34791             : 
   34792             :                     n->contype = CONSTR_ATTR_ENFORCED;
   34793             :                     n->location = (yylsp[0]);
   34794             :                     (yyval.node) = (Node *) n;
   34795             :                 }
   34796             : #line 34797 "gram.c"
   34797          42 :     break;
   34798             : 
   34799          66 :   case 521: /* ConstraintAttr: NOT ENFORCED  */
   34800             : #line 4140 "gram.y"
   34801             :                                 {
   34802             :                     Constraint *n = makeNode(Constraint);
   34803             : 
   34804             :                     n->contype = CONSTR_ATTR_NOT_ENFORCED;
   34805             :                     n->location = (yylsp[-1]);
   34806             :                     (yyval.node) = (Node *) n;
   34807             :                 }
   34808             : #line 34809 "gram.c"
   34809          66 :     break;
   34810             : 
   34811         774 :   case 522: /* TableLikeClause: LIKE qualified_name TableLikeOptionList  */
   34812             : #line 4152 "gram.y"
   34813             :                                 {
   34814             :                     TableLikeClause *n = makeNode(TableLikeClause);
   34815             : 
   34816             :                     n->relation = (yyvsp[-1].range);
   34817             :                     n->options = (yyvsp[0].ival);
   34818             :                     n->relationOid = InvalidOid;
   34819             :                     (yyval.node) = (Node *) n;
   34820             :                 }
   34821             : #line 34822 "gram.c"
   34822         774 :     break;
   34823             : 
   34824         282 :   case 523: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption  */
   34825             : #line 4163 "gram.y"
   34826             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
   34827             : #line 34828 "gram.c"
   34828         282 :     break;
   34829             : 
   34830           8 :   case 524: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption  */
   34831             : #line 4164 "gram.y"
   34832             :                                                                                 { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
   34833             : #line 34834 "gram.c"
   34834           8 :     break;
   34835             : 
   34836         774 :   case 525: /* TableLikeOptionList: %empty  */
   34837             : #line 4165 "gram.y"
   34838             :                                                                                         { (yyval.ival) = 0; }
   34839             : #line 34840 "gram.c"
   34840         774 :     break;
   34841             : 
   34842          24 :   case 526: /* TableLikeOption: COMMENTS  */
   34843             : #line 4169 "gram.y"
   34844             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
   34845             : #line 34846 "gram.c"
   34846          24 :     break;
   34847             : 
   34848           6 :   case 527: /* TableLikeOption: COMPRESSION  */
   34849             : #line 4170 "gram.y"
   34850             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; }
   34851             : #line 34852 "gram.c"
   34852           6 :     break;
   34853             : 
   34854          54 :   case 528: /* TableLikeOption: CONSTRAINTS  */
   34855             : #line 4171 "gram.y"
   34856             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
   34857             : #line 34858 "gram.c"
   34858          54 :     break;
   34859             : 
   34860          20 :   case 529: /* TableLikeOption: DEFAULTS  */
   34861             : #line 4172 "gram.y"
   34862             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
   34863             : #line 34864 "gram.c"
   34864          20 :     break;
   34865             : 
   34866          12 :   case 530: /* TableLikeOption: IDENTITY_P  */
   34867             : #line 4173 "gram.y"
   34868             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
   34869             : #line 34870 "gram.c"
   34870          12 :     break;
   34871             : 
   34872          30 :   case 531: /* TableLikeOption: GENERATED  */
   34873             : #line 4174 "gram.y"
   34874             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
   34875             : #line 34876 "gram.c"
   34876          30 :     break;
   34877             : 
   34878          50 :   case 532: /* TableLikeOption: INDEXES  */
   34879             : #line 4175 "gram.y"
   34880             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
   34881             : #line 34882 "gram.c"
   34882          50 :     break;
   34883             : 
   34884           0 :   case 533: /* TableLikeOption: STATISTICS  */
   34885             : #line 4176 "gram.y"
   34886             :                                                         { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
   34887             : #line 34888 "gram.c"
   34888           0 :     break;
   34889             : 
   34890          26 :   case 534: /* TableLikeOption: STORAGE  */
   34891             : #line 4177 "gram.y"
   34892             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
   34893             : #line 34894 "gram.c"
   34894          26 :     break;
   34895             : 
   34896          68 :   case 535: /* TableLikeOption: ALL  */
   34897             : #line 4178 "gram.y"
   34898             :                                                                 { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
   34899             : #line 34900 "gram.c"
   34900          68 :     break;
   34901             : 
   34902        4474 :   case 536: /* TableConstraint: CONSTRAINT name ConstraintElem  */
   34903             : #line 4188 "gram.y"
   34904             :                                 {
   34905             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   34906             : 
   34907             :                     n->conname = (yyvsp[-1].str);
   34908             :                     n->location = (yylsp[-2]);
   34909             :                     (yyval.node) = (Node *) n;
   34910             :                 }
   34911             : #line 34912 "gram.c"
   34912        4474 :     break;
   34913             : 
   34914       12988 :   case 537: /* TableConstraint: ConstraintElem  */
   34915             : #line 4195 "gram.y"
   34916             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   34917             : #line 34918 "gram.c"
   34918       12988 :     break;
   34919             : 
   34920        1320 :   case 538: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   34921             : #line 4200 "gram.y"
   34922             :                                 {
   34923             :                     Constraint *n = makeNode(Constraint);
   34924             : 
   34925             :                     n->contype = CONSTR_CHECK;
   34926             :                     n->location = (yylsp[-4]);
   34927             :                     n->raw_expr = (yyvsp[-2].node);
   34928             :                     n->cooked_expr = NULL;
   34929             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   34930             :                                    NULL, NULL, &n->is_enforced, &n->skip_validation,
   34931             :                                    &n->is_no_inherit, yyscanner);
   34932             :                     n->initially_valid = !n->skip_validation;
   34933             :                     (yyval.node) = (Node *) n;
   34934             :                 }
   34935             : #line 34936 "gram.c"
   34936        1320 :     break;
   34937             : 
   34938         622 :   case 539: /* ConstraintElem: NOT NULL_P ColId ConstraintAttributeSpec  */
   34939             : #line 4214 "gram.y"
   34940             :                                 {
   34941             :                     Constraint *n = makeNode(Constraint);
   34942             : 
   34943             :                     n->contype = CONSTR_NOTNULL;
   34944             :                     n->location = (yylsp[-3]);
   34945             :                     n->keys = list_make1(makeString((yyvsp[-1].str)));
   34946             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   34947             :                                    NULL, NULL, NULL, &n->skip_validation,
   34948             :                                    &n->is_no_inherit, yyscanner);
   34949             :                     n->initially_valid = !n->skip_validation;
   34950             :                     (yyval.node) = (Node *) n;
   34951             :                 }
   34952             : #line 34953 "gram.c"
   34953         622 :     break;
   34954             : 
   34955         612 :   case 540: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   34956             : #line 4228 "gram.y"
   34957             :                                 {
   34958             :                     Constraint *n = makeNode(Constraint);
   34959             : 
   34960             :                     n->contype = CONSTR_UNIQUE;
   34961             :                     n->location = (yylsp[-9]);
   34962             :                     n->nulls_not_distinct = !(yyvsp[-8].boolean);
   34963             :                     n->keys = (yyvsp[-6].list);
   34964             :                     n->without_overlaps = (yyvsp[-5].boolean);
   34965             :                     n->including = (yyvsp[-3].list);
   34966             :                     n->options = (yyvsp[-2].list);
   34967             :                     n->indexname = NULL;
   34968             :                     n->indexspace = (yyvsp[-1].str);
   34969             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   34970             :                                    &n->deferrable, &n->initdeferred, NULL,
   34971             :                                    NULL, NULL, yyscanner);
   34972             :                     (yyval.node) = (Node *) n;
   34973             :                 }
   34974             : #line 34975 "gram.c"
   34975         612 :     break;
   34976             : 
   34977        4552 :   case 541: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec  */
   34978             : #line 4246 "gram.y"
   34979             :                                 {
   34980             :                     Constraint *n = makeNode(Constraint);
   34981             : 
   34982             :                     n->contype = CONSTR_UNIQUE;
   34983             :                     n->location = (yylsp[-2]);
   34984             :                     n->keys = NIL;
   34985             :                     n->including = NIL;
   34986             :                     n->options = NIL;
   34987             :                     n->indexname = (yyvsp[-1].str);
   34988             :                     n->indexspace = NULL;
   34989             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
   34990             :                                    &n->deferrable, &n->initdeferred, NULL,
   34991             :                                    NULL, NULL, yyscanner);
   34992             :                     (yyval.node) = (Node *) n;
   34993             :                 }
   34994             : #line 34995 "gram.c"
   34995        4552 :     break;
   34996             : 
   34997        2378 :   case 542: /* ConstraintElem: PRIMARY KEY '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec  */
   34998             : #line 4263 "gram.y"
   34999             :                                 {
   35000             :                     Constraint *n = makeNode(Constraint);
   35001             : 
   35002             :                     n->contype = CONSTR_PRIMARY;
   35003             :                     n->location = (yylsp[-9]);
   35004             :                     n->keys = (yyvsp[-6].list);
   35005             :                     n->without_overlaps = (yyvsp[-5].boolean);
   35006             :                     n->including = (yyvsp[-3].list);
   35007             :                     n->options = (yyvsp[-2].list);
   35008             :                     n->indexname = NULL;
   35009             :                     n->indexspace = (yyvsp[-1].str);
   35010             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35011             :                                    &n->deferrable, &n->initdeferred, NULL,
   35012             :                                    NULL, NULL, yyscanner);
   35013             :                     (yyval.node) = (Node *) n;
   35014             :                 }
   35015             : #line 35016 "gram.c"
   35016        2378 :     break;
   35017             : 
   35018        5894 :   case 543: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec  */
   35019             : #line 4280 "gram.y"
   35020             :                                 {
   35021             :                     Constraint *n = makeNode(Constraint);
   35022             : 
   35023             :                     n->contype = CONSTR_PRIMARY;
   35024             :                     n->location = (yylsp[-3]);
   35025             :                     n->keys = NIL;
   35026             :                     n->including = NIL;
   35027             :                     n->options = NIL;
   35028             :                     n->indexname = (yyvsp[-1].str);
   35029             :                     n->indexspace = NULL;
   35030             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
   35031             :                                    &n->deferrable, &n->initdeferred, NULL,
   35032             :                                    NULL, NULL, yyscanner);
   35033             :                     (yyval.node) = (Node *) n;
   35034             :                 }
   35035             : #line 35036 "gram.c"
   35036        5894 :     break;
   35037             : 
   35038         238 :   case 544: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec  */
   35039             : #line 4298 "gram.y"
   35040             :                                 {
   35041             :                     Constraint *n = makeNode(Constraint);
   35042             : 
   35043             :                     n->contype = CONSTR_EXCLUSION;
   35044             :                     n->location = (yylsp[-9]);
   35045             :                     n->access_method = (yyvsp[-8].str);
   35046             :                     n->exclusions = (yyvsp[-6].list);
   35047             :                     n->including = (yyvsp[-4].list);
   35048             :                     n->options = (yyvsp[-3].list);
   35049             :                     n->indexname = NULL;
   35050             :                     n->indexspace = (yyvsp[-2].str);
   35051             :                     n->where_clause = (yyvsp[-1].node);
   35052             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
   35053             :                                    &n->deferrable, &n->initdeferred, NULL,
   35054             :                                    NULL, NULL, yyscanner);
   35055             :                     (yyval.node) = (Node *) n;
   35056             :                 }
   35057             : #line 35058 "gram.c"
   35058         238 :     break;
   35059             : 
   35060        1846 :   case 545: /* ConstraintElem: FOREIGN KEY '(' columnList optionalPeriodName ')' REFERENCES qualified_name opt_column_and_period_list key_match key_actions ConstraintAttributeSpec  */
   35061             : #line 4317 "gram.y"
   35062             :                                 {
   35063             :                     Constraint *n = makeNode(Constraint);
   35064             : 
   35065             :                     n->contype = CONSTR_FOREIGN;
   35066             :                     n->location = (yylsp[-11]);
   35067             :                     n->pktable = (yyvsp[-4].range);
   35068             :                     n->fk_attrs = (yyvsp[-8].list);
   35069             :                     if ((yyvsp[-7].node))
   35070             :                     {
   35071             :                         n->fk_attrs = lappend(n->fk_attrs, (yyvsp[-7].node));
   35072             :                         n->fk_with_period = true;
   35073             :                     }
   35074             :                     n->pk_attrs = linitial((yyvsp[-3].list));
   35075             :                     if (lsecond((yyvsp[-3].list)))
   35076             :                     {
   35077             :                         n->pk_attrs = lappend(n->pk_attrs, lsecond((yyvsp[-3].list)));
   35078             :                         n->pk_with_period = true;
   35079             :                     }
   35080             :                     n->fk_matchtype = (yyvsp[-2].ival);
   35081             :                     n->fk_upd_action = ((yyvsp[-1].keyactions))->updateAction->action;
   35082             :                     n->fk_del_action = ((yyvsp[-1].keyactions))->deleteAction->action;
   35083             :                     n->fk_del_set_cols = ((yyvsp[-1].keyactions))->deleteAction->cols;
   35084             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
   35085             :                                    &n->deferrable, &n->initdeferred,
   35086             :                                    &n->is_enforced, &n->skip_validation, NULL,
   35087             :                                    yyscanner);
   35088             :                     n->initially_valid = !n->skip_validation;
   35089             :                     (yyval.node) = (Node *) n;
   35090             :                 }
   35091             : #line 35092 "gram.c"
   35092        1846 :     break;
   35093             : 
   35094         156 :   case 546: /* DomainConstraint: CONSTRAINT name DomainConstraintElem  */
   35095             : #line 4361 "gram.y"
   35096             :                                 {
   35097             :                     Constraint *n = castNode(Constraint, (yyvsp[0].node));
   35098             : 
   35099             :                     n->conname = (yyvsp[-1].str);
   35100             :                     n->location = (yylsp[-2]);
   35101             :                     (yyval.node) = (Node *) n;
   35102             :                 }
   35103             : #line 35104 "gram.c"
   35104         156 :     break;
   35105             : 
   35106          18 :   case 547: /* DomainConstraint: DomainConstraintElem  */
   35107             : #line 4368 "gram.y"
   35108             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   35109             : #line 35110 "gram.c"
   35110          18 :     break;
   35111             : 
   35112         156 :   case 548: /* DomainConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   35113             : #line 4373 "gram.y"
   35114             :                                 {
   35115             :                     Constraint *n = makeNode(Constraint);
   35116             : 
   35117             :                     n->contype = CONSTR_CHECK;
   35118             :                     n->location = (yylsp[-4]);
   35119             :                     n->raw_expr = (yyvsp[-2].node);
   35120             :                     n->cooked_expr = NULL;
   35121             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
   35122             :                                    NULL, NULL, NULL, &n->skip_validation,
   35123             :                                    &n->is_no_inherit, yyscanner);
   35124             :                     n->is_enforced = true;
   35125             :                     n->initially_valid = !n->skip_validation;
   35126             :                     (yyval.node) = (Node *) n;
   35127             :                 }
   35128             : #line 35129 "gram.c"
   35129         144 :     break;
   35130             : 
   35131          30 :   case 549: /* DomainConstraintElem: NOT NULL_P ConstraintAttributeSpec  */
   35132             : #line 4388 "gram.y"
   35133             :                                 {
   35134             :                     Constraint *n = makeNode(Constraint);
   35135             : 
   35136             :                     n->contype = CONSTR_NOTNULL;
   35137             :                     n->location = (yylsp[-2]);
   35138             :                     n->keys = list_make1(makeString("value"));
   35139             :                     /* no NOT VALID, NO INHERIT support */
   35140             :                     processCASbits((yyvsp[0].ival), (yylsp[0]), "NOT NULL",
   35141             :                                    NULL, NULL, NULL,
   35142             :                                    NULL, NULL, yyscanner);
   35143             :                     n->initially_valid = true;
   35144             :                     (yyval.node) = (Node *) n;
   35145             :                 }
   35146             : #line 35147 "gram.c"
   35147          30 :     break;
   35148             : 
   35149         138 :   case 550: /* opt_no_inherit: NO INHERIT  */
   35150             : #line 4403 "gram.y"
   35151             :                                                                                 {  (yyval.boolean) = true; }
   35152             : #line 35153 "gram.c"
   35153         138 :     break;
   35154             : 
   35155        8092 :   case 551: /* opt_no_inherit: %empty  */
   35156             : #line 4404 "gram.y"
   35157             :                                                                                         {  (yyval.boolean) = false; }
   35158             : #line 35159 "gram.c"
   35159        8092 :     break;
   35160             : 
   35161         570 :   case 552: /* opt_without_overlaps: WITHOUT OVERLAPS  */
   35162             : #line 4408 "gram.y"
   35163             :                                                                                         { (yyval.boolean) = true; }
   35164             : #line 35165 "gram.c"
   35165         570 :     break;
   35166             : 
   35167        2420 :   case 553: /* opt_without_overlaps: %empty  */
   35168             : #line 4409 "gram.y"
   35169             :                                                                                                 { (yyval.boolean) = false; }
   35170             : #line 35171 "gram.c"
   35171        2420 :     break;
   35172             : 
   35173       15416 :   case 554: /* opt_column_list: '(' columnList ')'  */
   35174             : #line 4413 "gram.y"
   35175             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   35176             : #line 35177 "gram.c"
   35177       15416 :     break;
   35178             : 
   35179       41996 :   case 555: /* opt_column_list: %empty  */
   35180             : #line 4414 "gram.y"
   35181             :                                                                                                 { (yyval.list) = NIL; }
   35182             : #line 35183 "gram.c"
   35183       41996 :     break;
   35184             : 
   35185       22000 :   case 556: /* columnList: columnElem  */
   35186             : #line 4418 "gram.y"
   35187             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   35188             : #line 35189 "gram.c"
   35189       22000 :     break;
   35190             : 
   35191       44130 :   case 557: /* columnList: columnList ',' columnElem  */
   35192             : #line 4419 "gram.y"
   35193             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   35194             : #line 35195 "gram.c"
   35195       44130 :     break;
   35196             : 
   35197         472 :   case 558: /* optionalPeriodName: ',' PERIOD columnElem  */
   35198             : #line 4423 "gram.y"
   35199             :                                               { (yyval.node) = (yyvsp[0].node); }
   35200             : #line 35201 "gram.c"
   35201         472 :     break;
   35202             : 
   35203        2542 :   case 559: /* optionalPeriodName: %empty  */
   35204             : #line 4424 "gram.y"
   35205             :                                                   { (yyval.node) = NULL; }
   35206             : #line 35207 "gram.c"
   35207        2542 :     break;
   35208             : 
   35209        1162 :   case 560: /* opt_column_and_period_list: '(' columnList optionalPeriodName ')'  */
   35210             : #line 4428 "gram.y"
   35211             :                                                                                 { (yyval.list) = list_make2((yyvsp[-2].list), (yyvsp[-1].node)); }
   35212             : #line 35213 "gram.c"
   35213        1162 :     break;
   35214             : 
   35215         690 :   case 561: /* opt_column_and_period_list: %empty  */
   35216             : #line 4429 "gram.y"
   35217             :                                                                                                 { (yyval.list) = list_make2(NIL, NULL); }
   35218             : #line 35219 "gram.c"
   35219         690 :     break;
   35220             : 
   35221       66602 :   case 562: /* columnElem: ColId  */
   35222             : #line 4433 "gram.y"
   35223             :                                 {
   35224             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   35225             :                 }
   35226             : #line 35227 "gram.c"
   35227       66602 :     break;
   35228             : 
   35229         176 :   case 563: /* opt_c_include: INCLUDE '(' columnList ')'  */
   35230             : #line 4438 "gram.y"
   35231             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   35232             : #line 35233 "gram.c"
   35233         176 :     break;
   35234             : 
   35235        3052 :   case 564: /* opt_c_include: %empty  */
   35236             : #line 4439 "gram.y"
   35237             :                                                                                                 { (yyval.list) = NIL; }
   35238             : #line 35239 "gram.c"
   35239        3052 :     break;
   35240             : 
   35241         100 :   case 565: /* key_match: MATCH FULL  */
   35242             : #line 4443 "gram.y"
   35243             :                         {
   35244             :                 (yyval.ival) = FKCONSTR_MATCH_FULL;
   35245             :             }
   35246             : #line 35247 "gram.c"
   35247         100 :     break;
   35248             : 
   35249           0 :   case 566: /* key_match: MATCH PARTIAL  */
   35250             : #line 4447 "gram.y"
   35251             :                         {
   35252             :                 ereport(ERROR,
   35253             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35254             :                          errmsg("MATCH PARTIAL not yet implemented"),
   35255             :                          parser_errposition((yylsp[-1]))));
   35256             :                 (yyval.ival) = FKCONSTR_MATCH_PARTIAL;
   35257             :             }
   35258             : #line 35259 "gram.c"
   35259             :     break;
   35260             : 
   35261           6 :   case 567: /* key_match: MATCH SIMPLE  */
   35262             : #line 4455 "gram.y"
   35263             :                         {
   35264             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35265             :             }
   35266             : #line 35267 "gram.c"
   35267           6 :     break;
   35268             : 
   35269        2574 :   case 568: /* key_match: %empty  */
   35270             : #line 4459 "gram.y"
   35271             :                         {
   35272             :                 (yyval.ival) = FKCONSTR_MATCH_SIMPLE;
   35273             :             }
   35274             : #line 35275 "gram.c"
   35275        2574 :     break;
   35276             : 
   35277         238 :   case 569: /* ExclusionConstraintList: ExclusionConstraintElem  */
   35278             : #line 4465 "gram.y"
   35279             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   35280             : #line 35281 "gram.c"
   35281         238 :     break;
   35282             : 
   35283         110 :   case 570: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem  */
   35284             : #line 4467 "gram.y"
   35285             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   35286             : #line 35287 "gram.c"
   35287         110 :     break;
   35288             : 
   35289         348 :   case 571: /* ExclusionConstraintElem: index_elem WITH any_operator  */
   35290             : #line 4471 "gram.y"
   35291             :                         {
   35292             :                 (yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
   35293             :             }
   35294             : #line 35295 "gram.c"
   35295         348 :     break;
   35296             : 
   35297           0 :   case 572: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')'  */
   35298             : #line 4476 "gram.y"
   35299             :                         {
   35300             :                 (yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
   35301             :             }
   35302             : #line 35303 "gram.c"
   35303           0 :     break;
   35304             : 
   35305         440 :   case 573: /* OptWhereClause: WHERE '(' a_expr ')'  */
   35306             : #line 4482 "gram.y"
   35307             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   35308             : #line 35309 "gram.c"
   35309         440 :     break;
   35310             : 
   35311        1242 :   case 574: /* OptWhereClause: %empty  */
   35312             : #line 4483 "gram.y"
   35313             :                                                                                                 { (yyval.node) = NULL; }
   35314             : #line 35315 "gram.c"
   35315        1242 :     break;
   35316             : 
   35317          76 :   case 575: /* key_actions: key_update  */
   35318             : #line 4488 "gram.y"
   35319             :                                 {
   35320             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35321             : 
   35322             :                     n->updateAction = (yyvsp[0].keyaction);
   35323             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35324             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35325             :                     n->deleteAction->cols = NIL;
   35326             :                     (yyval.keyactions) = n;
   35327             :                 }
   35328             : #line 35329 "gram.c"
   35329          76 :     break;
   35330             : 
   35331         150 :   case 576: /* key_actions: key_delete  */
   35332             : #line 4498 "gram.y"
   35333             :                                 {
   35334             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35335             : 
   35336             :                     n->updateAction = palloc(sizeof(KeyAction));
   35337             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35338             :                     n->updateAction->cols = NIL;
   35339             :                     n->deleteAction = (yyvsp[0].keyaction);
   35340             :                     (yyval.keyactions) = n;
   35341             :                 }
   35342             : #line 35343 "gram.c"
   35343         150 :     break;
   35344             : 
   35345         162 :   case 577: /* key_actions: key_update key_delete  */
   35346             : #line 4508 "gram.y"
   35347             :                                 {
   35348             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35349             : 
   35350             :                     n->updateAction = (yyvsp[-1].keyaction);
   35351             :                     n->deleteAction = (yyvsp[0].keyaction);
   35352             :                     (yyval.keyactions) = n;
   35353             :                 }
   35354             : #line 35355 "gram.c"
   35355         162 :     break;
   35356             : 
   35357         150 :   case 578: /* key_actions: key_delete key_update  */
   35358             : #line 4516 "gram.y"
   35359             :                                 {
   35360             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35361             : 
   35362             :                     n->updateAction = (yyvsp[0].keyaction);
   35363             :                     n->deleteAction = (yyvsp[-1].keyaction);
   35364             :                     (yyval.keyactions) = n;
   35365             :                 }
   35366             : #line 35367 "gram.c"
   35367         150 :     break;
   35368             : 
   35369        2136 :   case 579: /* key_actions: %empty  */
   35370             : #line 4524 "gram.y"
   35371             :                                 {
   35372             :                     KeyActions *n = palloc(sizeof(KeyActions));
   35373             : 
   35374             :                     n->updateAction = palloc(sizeof(KeyAction));
   35375             :                     n->updateAction->action = FKCONSTR_ACTION_NOACTION;
   35376             :                     n->updateAction->cols = NIL;
   35377             :                     n->deleteAction = palloc(sizeof(KeyAction));
   35378             :                     n->deleteAction->action = FKCONSTR_ACTION_NOACTION;
   35379             :                     n->deleteAction->cols = NIL;
   35380             :                     (yyval.keyactions) = n;
   35381             :                 }
   35382             : #line 35383 "gram.c"
   35383        2136 :     break;
   35384             : 
   35385         394 :   case 580: /* key_update: ON UPDATE key_action  */
   35386             : #line 4538 "gram.y"
   35387             :                                 {
   35388             :                     if (((yyvsp[0].keyaction))->cols)
   35389             :                         ereport(ERROR,
   35390             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   35391             :                                  errmsg("a column list with %s is only supported for ON DELETE actions",
   35392             :                                         ((yyvsp[0].keyaction))->action == FKCONSTR_ACTION_SETNULL ? "SET NULL" : "SET DEFAULT"),
   35393             :                                  parser_errposition((yylsp[-2]))));
   35394             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35395             :                 }
   35396             : #line 35397 "gram.c"
   35397         388 :     break;
   35398             : 
   35399         462 :   case 581: /* key_delete: ON DELETE_P key_action  */
   35400             : #line 4550 "gram.y"
   35401             :                                 {
   35402             :                     (yyval.keyaction) = (yyvsp[0].keyaction);
   35403             :                 }
   35404             : #line 35405 "gram.c"
   35405         462 :     break;
   35406             : 
   35407          80 :   case 582: /* key_action: NO ACTION  */
   35408             : #line 4557 "gram.y"
   35409             :                                 {
   35410             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35411             : 
   35412             :                     n->action = FKCONSTR_ACTION_NOACTION;
   35413             :                     n->cols = NIL;
   35414             :                     (yyval.keyaction) = n;
   35415             :                 }
   35416             : #line 35417 "gram.c"
   35417          80 :     break;
   35418             : 
   35419          48 :   case 583: /* key_action: RESTRICT  */
   35420             : #line 4565 "gram.y"
   35421             :                                 {
   35422             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35423             : 
   35424             :                     n->action = FKCONSTR_ACTION_RESTRICT;
   35425             :                     n->cols = NIL;
   35426             :                     (yyval.keyaction) = n;
   35427             :                 }
   35428             : #line 35429 "gram.c"
   35429          48 :     break;
   35430             : 
   35431         434 :   case 584: /* key_action: CASCADE  */
   35432             : #line 4573 "gram.y"
   35433             :                                 {
   35434             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35435             : 
   35436             :                     n->action = FKCONSTR_ACTION_CASCADE;
   35437             :                     n->cols = NIL;
   35438             :                     (yyval.keyaction) = n;
   35439             :                 }
   35440             : #line 35441 "gram.c"
   35441         434 :     break;
   35442             : 
   35443         192 :   case 585: /* key_action: SET NULL_P opt_column_list  */
   35444             : #line 4581 "gram.y"
   35445             :                                 {
   35446             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35447             : 
   35448             :                     n->action = FKCONSTR_ACTION_SETNULL;
   35449             :                     n->cols = (yyvsp[0].list);
   35450             :                     (yyval.keyaction) = n;
   35451             :                 }
   35452             : #line 35453 "gram.c"
   35453         192 :     break;
   35454             : 
   35455         102 :   case 586: /* key_action: SET DEFAULT opt_column_list  */
   35456             : #line 4589 "gram.y"
   35457             :                                 {
   35458             :                     KeyAction *n = palloc(sizeof(KeyAction));
   35459             : 
   35460             :                     n->action = FKCONSTR_ACTION_SETDEFAULT;
   35461             :                     n->cols = (yyvsp[0].list);
   35462             :                     (yyval.keyaction) = n;
   35463             :                 }
   35464             : #line 35465 "gram.c"
   35465         102 :     break;
   35466             : 
   35467        2190 :   case 587: /* OptInherit: INHERITS '(' qualified_name_list ')'  */
   35468             : #line 4598 "gram.y"
   35469             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   35470             : #line 35471 "gram.c"
   35471        2190 :     break;
   35472             : 
   35473       28972 :   case 588: /* OptInherit: %empty  */
   35474             : #line 4599 "gram.y"
   35475             :                                                                                                 { (yyval.list) = NIL; }
   35476             : #line 35477 "gram.c"
   35477       28972 :     break;
   35478             : 
   35479        5146 :   case 589: /* OptPartitionSpec: PartitionSpec  */
   35480             : #line 4603 "gram.y"
   35481             :                                 { (yyval.partspec) = (yyvsp[0].partspec); }
   35482             : #line 35483 "gram.c"
   35483        5146 :     break;
   35484             : 
   35485       33630 :   case 590: /* OptPartitionSpec: %empty  */
   35486             : #line 4604 "gram.y"
   35487             :                                                         { (yyval.partspec) = NULL; }
   35488             : #line 35489 "gram.c"
   35489       33630 :     break;
   35490             : 
   35491        5152 :   case 591: /* PartitionSpec: PARTITION BY ColId '(' part_params ')'  */
   35492             : #line 4608 "gram.y"
   35493             :                                 {
   35494             :                     PartitionSpec *n = makeNode(PartitionSpec);
   35495             : 
   35496             :                     n->strategy = parsePartitionStrategy((yyvsp[-3].str), (yylsp[-3]), yyscanner);
   35497             :                     n->partParams = (yyvsp[-1].list);
   35498             :                     n->location = (yylsp[-5]);
   35499             : 
   35500             :                     (yyval.partspec) = n;
   35501             :                 }
   35502             : #line 35503 "gram.c"
   35503        5146 :     break;
   35504             : 
   35505        5152 :   case 592: /* part_params: part_elem  */
   35506             : #line 4619 "gram.y"
   35507             :                                                                         { (yyval.list) = list_make1((yyvsp[0].partelem)); }
   35508             : #line 35509 "gram.c"
   35509        5152 :     break;
   35510             : 
   35511         466 :   case 593: /* part_params: part_params ',' part_elem  */
   35512             : #line 4620 "gram.y"
   35513             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
   35514             : #line 35515 "gram.c"
   35515         466 :     break;
   35516             : 
   35517        5298 :   case 594: /* part_elem: ColId opt_collate opt_qualified_name  */
   35518             : #line 4624 "gram.y"
   35519             :                                 {
   35520             :                     PartitionElem *n = makeNode(PartitionElem);
   35521             : 
   35522             :                     n->name = (yyvsp[-2].str);
   35523             :                     n->expr = NULL;
   35524             :                     n->collation = (yyvsp[-1].list);
   35525             :                     n->opclass = (yyvsp[0].list);
   35526             :                     n->location = (yylsp[-2]);
   35527             :                     (yyval.partelem) = n;
   35528             :                 }
   35529             : #line 35530 "gram.c"
   35530        5298 :     break;
   35531             : 
   35532         134 :   case 595: /* part_elem: func_expr_windowless opt_collate opt_qualified_name  */
   35533             : #line 4635 "gram.y"
   35534             :                                 {
   35535             :                     PartitionElem *n = makeNode(PartitionElem);
   35536             : 
   35537             :                     n->name = NULL;
   35538             :                     n->expr = (yyvsp[-2].node);
   35539             :                     n->collation = (yyvsp[-1].list);
   35540             :                     n->opclass = (yyvsp[0].list);
   35541             :                     n->location = (yylsp[-2]);
   35542             :                     (yyval.partelem) = n;
   35543             :                 }
   35544             : #line 35545 "gram.c"
   35545         134 :     break;
   35546             : 
   35547         186 :   case 596: /* part_elem: '(' a_expr ')' opt_collate opt_qualified_name  */
   35548             : #line 4646 "gram.y"
   35549             :                                 {
   35550             :                     PartitionElem *n = makeNode(PartitionElem);
   35551             : 
   35552             :                     n->name = NULL;
   35553             :                     n->expr = (yyvsp[-3].node);
   35554             :                     n->collation = (yyvsp[-1].list);
   35555             :                     n->opclass = (yyvsp[0].list);
   35556             :                     n->location = (yylsp[-4]);
   35557             :                     (yyval.partelem) = n;
   35558             :                 }
   35559             : #line 35560 "gram.c"
   35560         186 :     break;
   35561             : 
   35562         122 :   case 597: /* table_access_method_clause: USING name  */
   35563             : #line 4659 "gram.y"
   35564             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   35565             : #line 35566 "gram.c"
   35566         122 :     break;
   35567             : 
   35568       40576 :   case 598: /* table_access_method_clause: %empty  */
   35569             : #line 4660 "gram.y"
   35570             :                                                                                         { (yyval.str) = NULL; }
   35571             : #line 35572 "gram.c"
   35572       40576 :     break;
   35573             : 
   35574         790 :   case 599: /* OptWith: WITH reloptions  */
   35575             : #line 4665 "gram.y"
   35576             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   35577             : #line 35578 "gram.c"
   35578         790 :     break;
   35579             : 
   35580          24 :   case 600: /* OptWith: WITHOUT OIDS  */
   35581             : #line 4666 "gram.y"
   35582             :                                                                 { (yyval.list) = NIL; }
   35583             : #line 35584 "gram.c"
   35584          24 :     break;
   35585             : 
   35586       39280 :   case 601: /* OptWith: %empty  */
   35587             : #line 4667 "gram.y"
   35588             :                                                                         { (yyval.list) = NIL; }
   35589             : #line 35590 "gram.c"
   35590       39280 :     break;
   35591             : 
   35592          60 :   case 602: /* OnCommitOption: ON COMMIT DROP  */
   35593             : #line 4670 "gram.y"
   35594             :                                                         { (yyval.oncommit) = ONCOMMIT_DROP; }
   35595             : #line 35596 "gram.c"
   35596          60 :     break;
   35597             : 
   35598         104 :   case 603: /* OnCommitOption: ON COMMIT DELETE_P ROWS  */
   35599             : #line 4671 "gram.y"
   35600             :                                                                 { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
   35601             : #line 35602 "gram.c"
   35602         104 :     break;
   35603             : 
   35604          24 :   case 604: /* OnCommitOption: ON COMMIT PRESERVE ROWS  */
   35605             : #line 4672 "gram.y"
   35606             :                                                                 { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
   35607             : #line 35608 "gram.c"
   35608          24 :     break;
   35609             : 
   35610       39906 :   case 605: /* OnCommitOption: %empty  */
   35611             : #line 4673 "gram.y"
   35612             :                                                                                 { (yyval.oncommit) = ONCOMMIT_NOOP; }
   35613             : #line 35614 "gram.c"
   35614       39906 :     break;
   35615             : 
   35616         206 :   case 606: /* OptTableSpace: TABLESPACE name  */
   35617             : #line 4676 "gram.y"
   35618             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   35619             : #line 35620 "gram.c"
   35620         206 :     break;
   35621             : 
   35622       47352 :   case 607: /* OptTableSpace: %empty  */
   35623             : #line 4677 "gram.y"
   35624             :                                                                                                 { (yyval.str) = NULL; }
   35625             : #line 35626 "gram.c"
   35626       47352 :     break;
   35627             : 
   35628          66 :   case 608: /* OptConsTableSpace: USING INDEX TABLESPACE name  */
   35629             : #line 4680 "gram.y"
   35630             :                                                         { (yyval.str) = (yyvsp[0].str); }
   35631             : #line 35632 "gram.c"
   35632          66 :     break;
   35633             : 
   35634        9362 :   case 609: /* OptConsTableSpace: %empty  */
   35635             : #line 4681 "gram.y"
   35636             :                                                                                                 { (yyval.str) = NULL; }
   35637             : #line 35638 "gram.c"
   35638        9362 :     break;
   35639             : 
   35640       10446 :   case 610: /* ExistingIndex: USING INDEX name  */
   35641             : #line 4684 "gram.y"
   35642             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   35643             : #line 35644 "gram.c"
   35644       10446 :     break;
   35645             : 
   35646         660 :   case 611: /* CreateStatsStmt: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list  */
   35647             : #line 4706 "gram.y"
   35648             :                                 {
   35649             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   35650             : 
   35651             :                     n->defnames = (yyvsp[-5].list);
   35652             :                     n->stat_types = (yyvsp[-4].list);
   35653             :                     n->exprs = (yyvsp[-2].list);
   35654             :                     n->relations = (yyvsp[0].list);
   35655             :                     n->stxcomment = NULL;
   35656             :                     n->if_not_exists = false;
   35657             :                     (yyval.node) = (Node *) n;
   35658             :                 }
   35659             : #line 35660 "gram.c"
   35660         660 :     break;
   35661             : 
   35662          12 :   case 612: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list  */
   35663             : #line 4719 "gram.y"
   35664             :                                 {
   35665             :                     CreateStatsStmt *n = makeNode(CreateStatsStmt);
   35666             : 
   35667             :                     n->defnames = (yyvsp[-5].list);
   35668             :                     n->stat_types = (yyvsp[-4].list);
   35669             :                     n->exprs = (yyvsp[-2].list);
   35670             :                     n->relations = (yyvsp[0].list);
   35671             :                     n->stxcomment = NULL;
   35672             :                     n->if_not_exists = true;
   35673             :                     (yyval.node) = (Node *) n;
   35674             :                 }
   35675             : #line 35676 "gram.c"
   35676          12 :     break;
   35677             : 
   35678         684 :   case 613: /* stats_params: stats_param  */
   35679             : #line 4739 "gram.y"
   35680             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].selem)); }
   35681             : #line 35682 "gram.c"
   35682         684 :     break;
   35683             : 
   35684         988 :   case 614: /* stats_params: stats_params ',' stats_param  */
   35685             : #line 4740 "gram.y"
   35686             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].selem)); }
   35687             : #line 35688 "gram.c"
   35688         988 :     break;
   35689             : 
   35690        1192 :   case 615: /* stats_param: ColId  */
   35691             : #line 4744 "gram.y"
   35692             :                                 {
   35693             :                     (yyval.selem) = makeNode(StatsElem);
   35694             :                     (yyval.selem)->name = (yyvsp[0].str);
   35695             :                     (yyval.selem)->expr = NULL;
   35696             :                 }
   35697             : #line 35698 "gram.c"
   35698        1192 :     break;
   35699             : 
   35700          34 :   case 616: /* stats_param: func_expr_windowless  */
   35701             : #line 4750 "gram.y"
   35702             :                                 {
   35703             :                     (yyval.selem) = makeNode(StatsElem);
   35704             :                     (yyval.selem)->name = NULL;
   35705             :                     (yyval.selem)->expr = (yyvsp[0].node);
   35706             :                 }
   35707             : #line 35708 "gram.c"
   35708          34 :     break;
   35709             : 
   35710         446 :   case 617: /* stats_param: '(' a_expr ')'  */
   35711             : #line 4756 "gram.y"
   35712             :                                 {
   35713             :                     (yyval.selem) = makeNode(StatsElem);
   35714             :                     (yyval.selem)->name = NULL;
   35715             :                     (yyval.selem)->expr = (yyvsp[-1].node);
   35716             :                 }
   35717             : #line 35718 "gram.c"
   35718         446 :     break;
   35719             : 
   35720          20 :   case 618: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS set_statistics_value  */
   35721             : #line 4773 "gram.y"
   35722             :                                 {
   35723             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   35724             : 
   35725             :                     n->defnames = (yyvsp[-3].list);
   35726             :                     n->missing_ok = false;
   35727             :                     n->stxstattarget = (yyvsp[0].node);
   35728             :                     (yyval.node) = (Node *) n;
   35729             :                 }
   35730             : #line 35731 "gram.c"
   35731          20 :     break;
   35732             : 
   35733           6 :   case 619: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS set_statistics_value  */
   35734             : #line 4782 "gram.y"
   35735             :                                 {
   35736             :                     AlterStatsStmt *n = makeNode(AlterStatsStmt);
   35737             : 
   35738             :                     n->defnames = (yyvsp[-3].list);
   35739             :                     n->missing_ok = true;
   35740             :                     n->stxstattarget = (yyvsp[0].node);
   35741             :                     (yyval.node) = (Node *) n;
   35742             :                 }
   35743             : #line 35744 "gram.c"
   35744           6 :     break;
   35745             : 
   35746        1190 :   case 620: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data  */
   35747             : #line 4804 "gram.y"
   35748             :                                 {
   35749             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35750             : 
   35751             :                     ctas->query = (yyvsp[-1].node);
   35752             :                     ctas->into = (yyvsp[-3].into);
   35753             :                     ctas->objtype = OBJECT_TABLE;
   35754             :                     ctas->is_select_into = false;
   35755             :                     ctas->if_not_exists = false;
   35756             :                     /* cram additional flags into the IntoClause */
   35757             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
   35758             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35759             :                     (yyval.node) = (Node *) ctas;
   35760             :                 }
   35761             : #line 35762 "gram.c"
   35762        1190 :     break;
   35763             : 
   35764          52 :   case 621: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data  */
   35765             : #line 4818 "gram.y"
   35766             :                                 {
   35767             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35768             : 
   35769             :                     ctas->query = (yyvsp[-1].node);
   35770             :                     ctas->into = (yyvsp[-3].into);
   35771             :                     ctas->objtype = OBJECT_TABLE;
   35772             :                     ctas->is_select_into = false;
   35773             :                     ctas->if_not_exists = true;
   35774             :                     /* cram additional flags into the IntoClause */
   35775             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
   35776             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35777             :                     (yyval.node) = (Node *) ctas;
   35778             :                 }
   35779             : #line 35780 "gram.c"
   35780          52 :     break;
   35781             : 
   35782        1330 :   case 622: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace  */
   35783             : #line 4836 "gram.y"
   35784             :                                 {
   35785             :                     (yyval.into) = makeNode(IntoClause);
   35786             :                     (yyval.into)->rel = (yyvsp[-5].range);
   35787             :                     (yyval.into)->colNames = (yyvsp[-4].list);
   35788             :                     (yyval.into)->accessMethod = (yyvsp[-3].str);
   35789             :                     (yyval.into)->options = (yyvsp[-2].list);
   35790             :                     (yyval.into)->onCommit = (yyvsp[-1].oncommit);
   35791             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   35792             :                     (yyval.into)->viewQuery = NULL;
   35793             :                     (yyval.into)->skipData = false;      /* might get changed later */
   35794             :                 }
   35795             : #line 35796 "gram.c"
   35796        1330 :     break;
   35797             : 
   35798          36 :   case 623: /* opt_with_data: WITH DATA_P  */
   35799             : #line 4850 "gram.y"
   35800             :                                                                                                 { (yyval.boolean) = true; }
   35801             : #line 35802 "gram.c"
   35802          36 :     break;
   35803             : 
   35804         234 :   case 624: /* opt_with_data: WITH NO DATA_P  */
   35805             : #line 4851 "gram.y"
   35806             :                                                                                         { (yyval.boolean) = false; }
   35807             : #line 35808 "gram.c"
   35808         234 :     break;
   35809             : 
   35810        1942 :   case 625: /* opt_with_data: %empty  */
   35811             : #line 4852 "gram.y"
   35812             :                                                                                                 { (yyval.boolean) = true; }
   35813             : #line 35814 "gram.c"
   35814        1942 :     break;
   35815             : 
   35816         550 :   case 626: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data  */
   35817             : #line 4865 "gram.y"
   35818             :                                 {
   35819             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35820             : 
   35821             :                     ctas->query = (yyvsp[-1].node);
   35822             :                     ctas->into = (yyvsp[-3].into);
   35823             :                     ctas->objtype = OBJECT_MATVIEW;
   35824             :                     ctas->is_select_into = false;
   35825             :                     ctas->if_not_exists = false;
   35826             :                     /* cram additional flags into the IntoClause */
   35827             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
   35828             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35829             :                     (yyval.node) = (Node *) ctas;
   35830             :                 }
   35831             : #line 35832 "gram.c"
   35832         550 :     break;
   35833             : 
   35834          48 :   case 627: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data  */
   35835             : #line 4879 "gram.y"
   35836             :                                 {
   35837             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   35838             : 
   35839             :                     ctas->query = (yyvsp[-1].node);
   35840             :                     ctas->into = (yyvsp[-3].into);
   35841             :                     ctas->objtype = OBJECT_MATVIEW;
   35842             :                     ctas->is_select_into = false;
   35843             :                     ctas->if_not_exists = true;
   35844             :                     /* cram additional flags into the IntoClause */
   35845             :                     (yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
   35846             :                     (yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
   35847             :                     (yyval.node) = (Node *) ctas;
   35848             :                 }
   35849             : #line 35850 "gram.c"
   35850          48 :     break;
   35851             : 
   35852         598 :   case 628: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace  */
   35853             : #line 4896 "gram.y"
   35854             :                                 {
   35855             :                     (yyval.into) = makeNode(IntoClause);
   35856             :                     (yyval.into)->rel = (yyvsp[-4].range);
   35857             :                     (yyval.into)->colNames = (yyvsp[-3].list);
   35858             :                     (yyval.into)->accessMethod = (yyvsp[-2].str);
   35859             :                     (yyval.into)->options = (yyvsp[-1].list);
   35860             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   35861             :                     (yyval.into)->tableSpaceName = (yyvsp[0].str);
   35862             :                     (yyval.into)->viewQuery = NULL;      /* filled at analysis time */
   35863             :                     (yyval.into)->skipData = false;      /* might get changed later */
   35864             :                 }
   35865             : #line 35866 "gram.c"
   35866         598 :     break;
   35867             : 
   35868           0 :   case 629: /* OptNoLog: UNLOGGED  */
   35869             : #line 4909 "gram.y"
   35870             :                                                                 { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
   35871             : #line 35872 "gram.c"
   35872           0 :     break;
   35873             : 
   35874         598 :   case 630: /* OptNoLog: %empty  */
   35875             : #line 4910 "gram.y"
   35876             :                                                                         { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
   35877             : #line 35878 "gram.c"
   35878         598 :     break;
   35879             : 
   35880         284 :   case 631: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data  */
   35881             : #line 4923 "gram.y"
   35882             :                                 {
   35883             :                     RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
   35884             : 
   35885             :                     n->concurrent = (yyvsp[-2].boolean);
   35886             :                     n->relation = (yyvsp[-1].range);
   35887             :                     n->skipData = !((yyvsp[0].boolean));
   35888             :                     (yyval.node) = (Node *) n;
   35889             :                 }
   35890             : #line 35891 "gram.c"
   35891         284 :     break;
   35892             : 
   35893         720 :   case 632: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList  */
   35894             : #line 4944 "gram.y"
   35895             :                                 {
   35896             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   35897             : 
   35898             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
   35899             :                     n->sequence = (yyvsp[-1].range);
   35900             :                     n->options = (yyvsp[0].list);
   35901             :                     n->ownerId = InvalidOid;
   35902             :                     n->if_not_exists = false;
   35903             :                     (yyval.node) = (Node *) n;
   35904             :                 }
   35905             : #line 35906 "gram.c"
   35906         720 :     break;
   35907             : 
   35908          24 :   case 633: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList  */
   35909             : #line 4955 "gram.y"
   35910             :                                 {
   35911             :                     CreateSeqStmt *n = makeNode(CreateSeqStmt);
   35912             : 
   35913             :                     (yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
   35914             :                     n->sequence = (yyvsp[-1].range);
   35915             :                     n->options = (yyvsp[0].list);
   35916             :                     n->ownerId = InvalidOid;
   35917             :                     n->if_not_exists = true;
   35918             :                     (yyval.node) = (Node *) n;
   35919             :                 }
   35920             : #line 35921 "gram.c"
   35921          24 :     break;
   35922             : 
   35923         212 :   case 634: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList  */
   35924             : #line 4969 "gram.y"
   35925             :                                 {
   35926             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   35927             : 
   35928             :                     n->sequence = (yyvsp[-1].range);
   35929             :                     n->options = (yyvsp[0].list);
   35930             :                     n->missing_ok = false;
   35931             :                     (yyval.node) = (Node *) n;
   35932             :                 }
   35933             : #line 35934 "gram.c"
   35934         212 :     break;
   35935             : 
   35936          12 :   case 635: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList  */
   35937             : #line 4978 "gram.y"
   35938             :                                 {
   35939             :                     AlterSeqStmt *n = makeNode(AlterSeqStmt);
   35940             : 
   35941             :                     n->sequence = (yyvsp[-1].range);
   35942             :                     n->options = (yyvsp[0].list);
   35943             :                     n->missing_ok = true;
   35944             :                     (yyval.node) = (Node *) n;
   35945             :                 }
   35946             : #line 35947 "gram.c"
   35947          12 :     break;
   35948             : 
   35949         326 :   case 636: /* OptSeqOptList: SeqOptList  */
   35950             : #line 4989 "gram.y"
   35951             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   35952             : #line 35953 "gram.c"
   35953         326 :     break;
   35954             : 
   35955         418 :   case 637: /* OptSeqOptList: %empty  */
   35956             : #line 4990 "gram.y"
   35957             :                                                                                                 { (yyval.list) = NIL; }
   35958             : #line 35959 "gram.c"
   35959         418 :     break;
   35960             : 
   35961         118 :   case 638: /* OptParenthesizedSeqOptList: '(' SeqOptList ')'  */
   35962             : #line 4993 "gram.y"
   35963             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   35964             : #line 35965 "gram.c"
   35965         118 :     break;
   35966             : 
   35967         424 :   case 639: /* OptParenthesizedSeqOptList: %empty  */
   35968             : #line 4994 "gram.y"
   35969             :                                                                                                 { (yyval.list) = NIL; }
   35970             : #line 35971 "gram.c"
   35971         424 :     break;
   35972             : 
   35973         668 :   case 640: /* SeqOptList: SeqOptElem  */
   35974             : #line 4997 "gram.y"
   35975             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   35976             : #line 35977 "gram.c"
   35977         668 :     break;
   35978             : 
   35979        1322 :   case 641: /* SeqOptList: SeqOptList SeqOptElem  */
   35980             : #line 4998 "gram.y"
   35981             :                                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   35982             : #line 35983 "gram.c"
   35983        1322 :     break;
   35984             : 
   35985         236 :   case 642: /* SeqOptElem: AS SimpleTypename  */
   35986             : #line 5002 "gram.y"
   35987             :                                 {
   35988             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].typnam), (yylsp[-1]));
   35989             :                 }
   35990             : #line 35991 "gram.c"
   35991         236 :     break;
   35992             : 
   35993         236 :   case 643: /* SeqOptElem: CACHE NumericOnly  */
   35994             : #line 5006 "gram.y"
   35995             :                                 {
   35996             :                     (yyval.defelt) = makeDefElem("cache", (Node *) (yyvsp[0].node), (yylsp[-1]));
   35997             :                 }
   35998             : #line 35999 "gram.c"
   35999         236 :     break;
   36000             : 
   36001          36 :   case 644: /* SeqOptElem: CYCLE  */
   36002             : #line 5010 "gram.y"
   36003             :                                 {
   36004             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(true), (yylsp[0]));
   36005             :                 }
   36006             : #line 36007 "gram.c"
   36007          36 :     break;
   36008             : 
   36009          14 :   case 645: /* SeqOptElem: NO CYCLE  */
   36010             : #line 5014 "gram.y"
   36011             :                                 {
   36012             :                     (yyval.defelt) = makeDefElem("cycle", (Node *) makeBoolean(false), (yylsp[-1]));
   36013             :                 }
   36014             : #line 36015 "gram.c"
   36015          14 :     break;
   36016             : 
   36017         352 :   case 646: /* SeqOptElem: INCREMENT opt_by NumericOnly  */
   36018             : #line 5018 "gram.y"
   36019             :                                 {
   36020             :                     (yyval.defelt) = makeDefElem("increment", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36021             :                 }
   36022             : #line 36023 "gram.c"
   36023         352 :     break;
   36024             : 
   36025           4 :   case 647: /* SeqOptElem: LOGGED  */
   36026             : #line 5022 "gram.y"
   36027             :                                 {
   36028             :                     (yyval.defelt) = makeDefElem("logged", NULL, (yylsp[0]));
   36029             :                 }
   36030             : #line 36031 "gram.c"
   36031           4 :     break;
   36032             : 
   36033          74 :   case 648: /* SeqOptElem: MAXVALUE NumericOnly  */
   36034             : #line 5026 "gram.y"
   36035             :                                 {
   36036             :                     (yyval.defelt) = makeDefElem("maxvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36037             :                 }
   36038             : #line 36039 "gram.c"
   36039          74 :     break;
   36040             : 
   36041          74 :   case 649: /* SeqOptElem: MINVALUE NumericOnly  */
   36042             : #line 5030 "gram.y"
   36043             :                                 {
   36044             :                     (yyval.defelt) = makeDefElem("minvalue", (Node *) (yyvsp[0].node), (yylsp[-1]));
   36045             :                 }
   36046             : #line 36047 "gram.c"
   36047          74 :     break;
   36048             : 
   36049         208 :   case 650: /* SeqOptElem: NO MAXVALUE  */
   36050             : #line 5034 "gram.y"
   36051             :                                 {
   36052             :                     (yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
   36053             :                 }
   36054             : #line 36055 "gram.c"
   36055         208 :     break;
   36056             : 
   36057         208 :   case 651: /* SeqOptElem: NO MINVALUE  */
   36058             : #line 5038 "gram.y"
   36059             :                                 {
   36060             :                     (yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
   36061             :                 }
   36062             : #line 36063 "gram.c"
   36063         208 :     break;
   36064             : 
   36065         100 :   case 652: /* SeqOptElem: OWNED BY any_name  */
   36066             : #line 5042 "gram.y"
   36067             :                                 {
   36068             :                     (yyval.defelt) = makeDefElem("owned_by", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36069             :                 }
   36070             : #line 36071 "gram.c"
   36071         100 :     break;
   36072             : 
   36073          88 :   case 653: /* SeqOptElem: SEQUENCE NAME_P any_name  */
   36074             : #line 5046 "gram.y"
   36075             :                                 {
   36076             :                     (yyval.defelt) = makeDefElem("sequence_name", (Node *) (yyvsp[0].list), (yylsp[-2]));
   36077             :                 }
   36078             : #line 36079 "gram.c"
   36079          88 :     break;
   36080             : 
   36081         344 :   case 654: /* SeqOptElem: START opt_with NumericOnly  */
   36082             : #line 5050 "gram.y"
   36083             :                                 {
   36084             :                     (yyval.defelt) = makeDefElem("start", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36085             :                 }
   36086             : #line 36087 "gram.c"
   36087         344 :     break;
   36088             : 
   36089           6 :   case 655: /* SeqOptElem: RESTART  */
   36090             : #line 5054 "gram.y"
   36091             :                                 {
   36092             :                     (yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
   36093             :                 }
   36094             : #line 36095 "gram.c"
   36095           6 :     break;
   36096             : 
   36097          60 :   case 656: /* SeqOptElem: RESTART opt_with NumericOnly  */
   36098             : #line 5058 "gram.y"
   36099             :                                 {
   36100             :                     (yyval.defelt) = makeDefElem("restart", (Node *) (yyvsp[0].node), (yylsp[-2]));
   36101             :                 }
   36102             : #line 36103 "gram.c"
   36103          60 :     break;
   36104             : 
   36105           4 :   case 657: /* SeqOptElem: UNLOGGED  */
   36106             : #line 5062 "gram.y"
   36107             :                                 {
   36108             :                     (yyval.defelt) = makeDefElem("unlogged", NULL, (yylsp[0]));
   36109             :                 }
   36110             : #line 36111 "gram.c"
   36111           4 :     break;
   36112             : 
   36113         322 :   case 660: /* NumericOnly: FCONST  */
   36114             : #line 5072 "gram.y"
   36115             :                                                                                         { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36116             : #line 36117 "gram.c"
   36117         322 :     break;
   36118             : 
   36119           0 :   case 661: /* NumericOnly: '+' FCONST  */
   36120             : #line 5073 "gram.y"
   36121             :                                                                                 { (yyval.node) = (Node *) makeFloat((yyvsp[0].str)); }
   36122             : #line 36123 "gram.c"
   36123           0 :     break;
   36124             : 
   36125          22 :   case 662: /* NumericOnly: '-' FCONST  */
   36126             : #line 5075 "gram.y"
   36127             :                                 {
   36128             :                     Float      *f = makeFloat((yyvsp[0].str));
   36129             : 
   36130             :                     doNegateFloat(f);
   36131             :                     (yyval.node) = (Node *) f;
   36132             :                 }
   36133             : #line 36134 "gram.c"
   36134          22 :     break;
   36135             : 
   36136       13448 :   case 663: /* NumericOnly: SignedIconst  */
   36137             : #line 5081 "gram.y"
   36138             :                                                                                 { (yyval.node) = (Node *) makeInteger((yyvsp[0].ival)); }
   36139             : #line 36140 "gram.c"
   36140       13448 :     break;
   36141             : 
   36142          80 :   case 664: /* NumericOnly_list: NumericOnly  */
   36143             : #line 5084 "gram.y"
   36144             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   36145             : #line 36146 "gram.c"
   36146          80 :     break;
   36147             : 
   36148           6 :   case 665: /* NumericOnly_list: NumericOnly_list ',' NumericOnly  */
   36149             : #line 5085 "gram.y"
   36150             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   36151             : #line 36152 "gram.c"
   36152           6 :     break;
   36153             : 
   36154           0 :   case 666: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name  */
   36155             : #line 5098 "gram.y"
   36156             :                         {
   36157             :                 /*
   36158             :                  * We now interpret parameterless CREATE LANGUAGE as
   36159             :                  * CREATE EXTENSION.  "OR REPLACE" is silently translated
   36160             :                  * to "IF NOT EXISTS", which isn't quite the same, but
   36161             :                  * seems more useful than throwing an error.  We just
   36162             :                  * ignore TRUSTED, as the previous code would have too.
   36163             :                  */
   36164             :                 CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36165             : 
   36166             :                 n->if_not_exists = (yyvsp[-4].boolean);
   36167             :                 n->extname = (yyvsp[0].str);
   36168             :                 n->options = NIL;
   36169             :                 (yyval.node) = (Node *) n;
   36170             :             }
   36171             : #line 36172 "gram.c"
   36172           0 :     break;
   36173             : 
   36174         140 :   case 667: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator  */
   36175             : #line 5115 "gram.y"
   36176             :                         {
   36177             :                 CreatePLangStmt *n = makeNode(CreatePLangStmt);
   36178             : 
   36179             :                 n->replace = (yyvsp[-8].boolean);
   36180             :                 n->plname = (yyvsp[-4].str);
   36181             :                 n->plhandler = (yyvsp[-2].list);
   36182             :                 n->plinline = (yyvsp[-1].list);
   36183             :                 n->plvalidator = (yyvsp[0].list);
   36184             :                 n->pltrusted = (yyvsp[-7].boolean);
   36185             :                 (yyval.node) = (Node *) n;
   36186             :             }
   36187             : #line 36188 "gram.c"
   36188         140 :     break;
   36189             : 
   36190         110 :   case 668: /* opt_trusted: TRUSTED  */
   36191             : #line 5129 "gram.y"
   36192             :                                                                                                 { (yyval.boolean) = true; }
   36193             : #line 36194 "gram.c"
   36194         110 :     break;
   36195             : 
   36196          38 :   case 669: /* opt_trusted: %empty  */
   36197             : #line 5130 "gram.y"
   36198             :                                                                                                 { (yyval.boolean) = false; }
   36199             : #line 36200 "gram.c"
   36200          38 :     break;
   36201             : 
   36202         550 :   case 670: /* handler_name: name  */
   36203             : #line 5138 "gram.y"
   36204             :                                                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   36205             : #line 36206 "gram.c"
   36206         550 :     break;
   36207             : 
   36208           2 :   case 671: /* handler_name: name attrs  */
   36209             : #line 5139 "gram.y"
   36210             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   36211             : #line 36212 "gram.c"
   36212           2 :     break;
   36213             : 
   36214         122 :   case 672: /* opt_inline_handler: INLINE_P handler_name  */
   36215             : #line 5143 "gram.y"
   36216             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36217             : #line 36218 "gram.c"
   36218         122 :     break;
   36219             : 
   36220          18 :   case 673: /* opt_inline_handler: %empty  */
   36221             : #line 5144 "gram.y"
   36222             :                                                                                                 { (yyval.list) = NIL; }
   36223             : #line 36224 "gram.c"
   36224          18 :     break;
   36225             : 
   36226         122 :   case 674: /* validator_clause: VALIDATOR handler_name  */
   36227             : #line 5148 "gram.y"
   36228             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   36229             : #line 36230 "gram.c"
   36230         122 :     break;
   36231             : 
   36232           0 :   case 675: /* validator_clause: NO VALIDATOR  */
   36233             : #line 5149 "gram.y"
   36234             :                                                                                         { (yyval.list) = NIL; }
   36235             : #line 36236 "gram.c"
   36236           0 :     break;
   36237             : 
   36238         122 :   case 676: /* opt_validator: validator_clause  */
   36239             : #line 5153 "gram.y"
   36240             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36241             : #line 36242 "gram.c"
   36242         122 :     break;
   36243             : 
   36244          18 :   case 677: /* opt_validator: %empty  */
   36245             : #line 5154 "gram.y"
   36246             :                                                                                                 { (yyval.list) = NIL; }
   36247             : #line 36248 "gram.c"
   36248          18 :     break;
   36249             : 
   36250         116 :   case 680: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions  */
   36251             : #line 5170 "gram.y"
   36252             :                                 {
   36253             :                     CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
   36254             : 
   36255             :                     n->tablespacename = (yyvsp[-4].str);
   36256             :                     n->owner = (yyvsp[-3].rolespec);
   36257             :                     n->location = (yyvsp[-1].str);
   36258             :                     n->options = (yyvsp[0].list);
   36259             :                     (yyval.node) = (Node *) n;
   36260             :                 }
   36261             : #line 36262 "gram.c"
   36262         116 :     break;
   36263             : 
   36264           6 :   case 681: /* OptTableSpaceOwner: OWNER RoleSpec  */
   36265             : #line 5181 "gram.y"
   36266             :                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   36267             : #line 36268 "gram.c"
   36268           6 :     break;
   36269             : 
   36270         110 :   case 682: /* OptTableSpaceOwner: %empty  */
   36271             : #line 5182 "gram.y"
   36272             :                                                                 { (yyval.rolespec) = NULL; }
   36273             : #line 36274 "gram.c"
   36274         110 :     break;
   36275             : 
   36276          64 :   case 683: /* DropTableSpaceStmt: DROP TABLESPACE name  */
   36277             : #line 5196 "gram.y"
   36278             :                                 {
   36279             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36280             : 
   36281             :                     n->tablespacename = (yyvsp[0].str);
   36282             :                     n->missing_ok = false;
   36283             :                     (yyval.node) = (Node *) n;
   36284             :                 }
   36285             : #line 36286 "gram.c"
   36286          64 :     break;
   36287             : 
   36288           0 :   case 684: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name  */
   36289             : #line 5204 "gram.y"
   36290             :                                 {
   36291             :                     DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
   36292             : 
   36293             :                     n->tablespacename = (yyvsp[0].str);
   36294             :                     n->missing_ok = true;
   36295             :                     (yyval.node) = (Node *) n;
   36296             :                 }
   36297             : #line 36298 "gram.c"
   36298           0 :     break;
   36299             : 
   36300         506 :   case 685: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list  */
   36301             : #line 5222 "gram.y"
   36302             :                                 {
   36303             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36304             : 
   36305             :                     n->extname = (yyvsp[-2].str);
   36306             :                     n->if_not_exists = false;
   36307             :                     n->options = (yyvsp[0].list);
   36308             :                     (yyval.node) = (Node *) n;
   36309             :                 }
   36310             : #line 36311 "gram.c"
   36311         506 :     break;
   36312             : 
   36313          18 :   case 686: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list  */
   36314             : #line 5231 "gram.y"
   36315             :                                 {
   36316             :                     CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
   36317             : 
   36318             :                     n->extname = (yyvsp[-2].str);
   36319             :                     n->if_not_exists = true;
   36320             :                     n->options = (yyvsp[0].list);
   36321             :                     (yyval.node) = (Node *) n;
   36322             :                 }
   36323             : #line 36324 "gram.c"
   36324          18 :     break;
   36325             : 
   36326          98 :   case 687: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item  */
   36327             : #line 5243 "gram.y"
   36328             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36329             : #line 36330 "gram.c"
   36330          98 :     break;
   36331             : 
   36332         524 :   case 688: /* create_extension_opt_list: %empty  */
   36333             : #line 5245 "gram.y"
   36334             :                                 { (yyval.list) = NIL; }
   36335             : #line 36336 "gram.c"
   36336         524 :     break;
   36337             : 
   36338          46 :   case 689: /* create_extension_opt_item: SCHEMA name  */
   36339             : #line 5250 "gram.y"
   36340             :                                 {
   36341             :                     (yyval.defelt) = makeDefElem("schema", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36342             :                 }
   36343             : #line 36344 "gram.c"
   36344          46 :     break;
   36345             : 
   36346          12 :   case 690: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst  */
   36347             : #line 5254 "gram.y"
   36348             :                                 {
   36349             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36350             :                 }
   36351             : #line 36352 "gram.c"
   36352          12 :     break;
   36353             : 
   36354           0 :   case 691: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst  */
   36355             : #line 5258 "gram.y"
   36356             :                                 {
   36357             :                     ereport(ERROR,
   36358             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   36359             :                              errmsg("CREATE EXTENSION ... FROM is no longer supported"),
   36360             :                              parser_errposition((yylsp[-1]))));
   36361             :                 }
   36362             : #line 36363 "gram.c"
   36363             :     break;
   36364             : 
   36365          40 :   case 692: /* create_extension_opt_item: CASCADE  */
   36366             : #line 5265 "gram.y"
   36367             :                                 {
   36368             :                     (yyval.defelt) = makeDefElem("cascade", (Node *) makeBoolean(true), (yylsp[0]));
   36369             :                 }
   36370             : #line 36371 "gram.c"
   36371          40 :     break;
   36372             : 
   36373          38 :   case 693: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list  */
   36374             : #line 5277 "gram.y"
   36375             :                                 {
   36376             :                     AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
   36377             : 
   36378             :                     n->extname = (yyvsp[-2].str);
   36379             :                     n->options = (yyvsp[0].list);
   36380             :                     (yyval.node) = (Node *) n;
   36381             :                 }
   36382             : #line 36383 "gram.c"
   36383          38 :     break;
   36384             : 
   36385          38 :   case 694: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item  */
   36386             : #line 5288 "gram.y"
   36387             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36388             : #line 36389 "gram.c"
   36389          38 :     break;
   36390             : 
   36391          38 :   case 695: /* alter_extension_opt_list: %empty  */
   36392             : #line 5290 "gram.y"
   36393             :                                 { (yyval.list) = NIL; }
   36394             : #line 36395 "gram.c"
   36395          38 :     break;
   36396             : 
   36397          38 :   case 696: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst  */
   36398             : #line 5295 "gram.y"
   36399             :                                 {
   36400             :                     (yyval.defelt) = makeDefElem("new_version", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   36401             :                 }
   36402             : #line 36403 "gram.c"
   36403          38 :     break;
   36404             : 
   36405          18 :   case 697: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name  */
   36406             : #line 5308 "gram.y"
   36407             :                                 {
   36408             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36409             : 
   36410             :                     n->extname = (yyvsp[-3].str);
   36411             :                     n->action = (yyvsp[-2].ival);
   36412             :                     n->objtype = (yyvsp[-1].objtype);
   36413             :                     n->object = (Node *) makeString((yyvsp[0].str));
   36414             :                     (yyval.node) = (Node *) n;
   36415             :                 }
   36416             : #line 36417 "gram.c"
   36417          18 :     break;
   36418             : 
   36419          76 :   case 698: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name  */
   36420             : #line 5318 "gram.y"
   36421             :                                 {
   36422             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36423             : 
   36424             :                     n->extname = (yyvsp[-3].str);
   36425             :                     n->action = (yyvsp[-2].ival);
   36426             :                     n->objtype = (yyvsp[-1].objtype);
   36427             :                     n->object = (Node *) (yyvsp[0].list);
   36428             :                     (yyval.node) = (Node *) n;
   36429             :                 }
   36430             : #line 36431 "gram.c"
   36431          76 :     break;
   36432             : 
   36433           8 :   case 699: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes  */
   36434             : #line 5328 "gram.y"
   36435             :                                 {
   36436             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36437             : 
   36438             :                     n->extname = (yyvsp[-3].str);
   36439             :                     n->action = (yyvsp[-2].ival);
   36440             :                     n->objtype = OBJECT_AGGREGATE;
   36441             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36442             :                     (yyval.node) = (Node *) n;
   36443             :                 }
   36444             : #line 36445 "gram.c"
   36445           8 :     break;
   36446             : 
   36447           4 :   case 700: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')'  */
   36448             : #line 5338 "gram.y"
   36449             :                                 {
   36450             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36451             : 
   36452             :                     n->extname = (yyvsp[-7].str);
   36453             :                     n->action = (yyvsp[-6].ival);
   36454             :                     n->objtype = OBJECT_CAST;
   36455             :                     n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
   36456             :                     (yyval.node) = (Node *) n;
   36457             :                 }
   36458             : #line 36459 "gram.c"
   36459           4 :     break;
   36460             : 
   36461           0 :   case 701: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename  */
   36462             : #line 5348 "gram.y"
   36463             :                                 {
   36464             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36465             : 
   36466             :                     n->extname = (yyvsp[-3].str);
   36467             :                     n->action = (yyvsp[-2].ival);
   36468             :                     n->objtype = OBJECT_DOMAIN;
   36469             :                     n->object = (Node *) (yyvsp[0].typnam);
   36470             :                     (yyval.node) = (Node *) n;
   36471             :                 }
   36472             : #line 36473 "gram.c"
   36473           0 :     break;
   36474             : 
   36475          98 :   case 702: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes  */
   36476             : #line 5358 "gram.y"
   36477             :                                 {
   36478             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36479             : 
   36480             :                     n->extname = (yyvsp[-3].str);
   36481             :                     n->action = (yyvsp[-2].ival);
   36482             :                     n->objtype = OBJECT_FUNCTION;
   36483             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36484             :                     (yyval.node) = (Node *) n;
   36485             :                 }
   36486             : #line 36487 "gram.c"
   36487          98 :     break;
   36488             : 
   36489          18 :   case 703: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes  */
   36490             : #line 5368 "gram.y"
   36491             :                                 {
   36492             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36493             : 
   36494             :                     n->extname = (yyvsp[-3].str);
   36495             :                     n->action = (yyvsp[-2].ival);
   36496             :                     n->objtype = OBJECT_OPERATOR;
   36497             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36498             :                     (yyval.node) = (Node *) n;
   36499             :                 }
   36500             : #line 36501 "gram.c"
   36501          18 :     break;
   36502             : 
   36503           4 :   case 704: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name  */
   36504             : #line 5378 "gram.y"
   36505             :                                 {
   36506             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36507             : 
   36508             :                     n->extname = (yyvsp[-6].str);
   36509             :                     n->action = (yyvsp[-5].ival);
   36510             :                     n->objtype = OBJECT_OPCLASS;
   36511             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36512             :                     (yyval.node) = (Node *) n;
   36513             :                 }
   36514             : #line 36515 "gram.c"
   36515           4 :     break;
   36516             : 
   36517           4 :   case 705: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name  */
   36518             : #line 5388 "gram.y"
   36519             :                                 {
   36520             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36521             : 
   36522             :                     n->extname = (yyvsp[-6].str);
   36523             :                     n->action = (yyvsp[-5].ival);
   36524             :                     n->objtype = OBJECT_OPFAMILY;
   36525             :                     n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
   36526             :                     (yyval.node) = (Node *) n;
   36527             :                 }
   36528             : #line 36529 "gram.c"
   36529           4 :     break;
   36530             : 
   36531           0 :   case 706: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes  */
   36532             : #line 5398 "gram.y"
   36533             :                                 {
   36534             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36535             : 
   36536             :                     n->extname = (yyvsp[-3].str);
   36537             :                     n->action = (yyvsp[-2].ival);
   36538             :                     n->objtype = OBJECT_PROCEDURE;
   36539             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36540             :                     (yyval.node) = (Node *) n;
   36541             :                 }
   36542             : #line 36543 "gram.c"
   36543           0 :     break;
   36544             : 
   36545           0 :   case 707: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes  */
   36546             : #line 5408 "gram.y"
   36547             :                                 {
   36548             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36549             : 
   36550             :                     n->extname = (yyvsp[-3].str);
   36551             :                     n->action = (yyvsp[-2].ival);
   36552             :                     n->objtype = OBJECT_ROUTINE;
   36553             :                     n->object = (Node *) (yyvsp[0].objwithargs);
   36554             :                     (yyval.node) = (Node *) n;
   36555             :                 }
   36556             : #line 36557 "gram.c"
   36557           0 :     break;
   36558             : 
   36559           4 :   case 708: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name  */
   36560             : #line 5418 "gram.y"
   36561             :                                 {
   36562             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36563             : 
   36564             :                     n->extname = (yyvsp[-6].str);
   36565             :                     n->action = (yyvsp[-5].ival);
   36566             :                     n->objtype = OBJECT_TRANSFORM;
   36567             :                     n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
   36568             :                     (yyval.node) = (Node *) n;
   36569             :                 }
   36570             : #line 36571 "gram.c"
   36571           4 :     break;
   36572             : 
   36573           8 :   case 709: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename  */
   36574             : #line 5428 "gram.y"
   36575             :                                 {
   36576             :                     AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
   36577             : 
   36578             :                     n->extname = (yyvsp[-3].str);
   36579             :                     n->action = (yyvsp[-2].ival);
   36580             :                     n->objtype = OBJECT_TYPE;
   36581             :                     n->object = (Node *) (yyvsp[0].typnam);
   36582             :                     (yyval.node) = (Node *) n;
   36583             :                 }
   36584             : #line 36585 "gram.c"
   36585           8 :     break;
   36586             : 
   36587         208 :   case 710: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options  */
   36588             : #line 5447 "gram.y"
   36589             :                                 {
   36590             :                     CreateFdwStmt *n = makeNode(CreateFdwStmt);
   36591             : 
   36592             :                     n->fdwname = (yyvsp[-2].str);
   36593             :                     n->func_options = (yyvsp[-1].list);
   36594             :                     n->options = (yyvsp[0].list);
   36595             :                     (yyval.node) = (Node *) n;
   36596             :                 }
   36597             : #line 36598 "gram.c"
   36598         208 :     break;
   36599             : 
   36600          56 :   case 711: /* fdw_option: HANDLER handler_name  */
   36601             : #line 5458 "gram.y"
   36602             :                                                                         { (yyval.defelt) = makeDefElem("handler", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36603             : #line 36604 "gram.c"
   36604          56 :     break;
   36605             : 
   36606           0 :   case 712: /* fdw_option: NO HANDLER  */
   36607             : #line 5459 "gram.y"
   36608             :                                                                                 { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
   36609             : #line 36610 "gram.c"
   36610           0 :     break;
   36611             : 
   36612          48 :   case 713: /* fdw_option: VALIDATOR handler_name  */
   36613             : #line 5460 "gram.y"
   36614             :                                                                         { (yyval.defelt) = makeDefElem("validator", (Node *) (yyvsp[0].list), (yylsp[-1])); }
   36615             : #line 36616 "gram.c"
   36616          48 :     break;
   36617             : 
   36618           6 :   case 714: /* fdw_option: NO VALIDATOR  */
   36619             : #line 5461 "gram.y"
   36620             :                                                                                 { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
   36621             : #line 36622 "gram.c"
   36622           6 :     break;
   36623             : 
   36624          90 :   case 715: /* fdw_options: fdw_option  */
   36625             : #line 5465 "gram.y"
   36626             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   36627             : #line 36628 "gram.c"
   36628          90 :     break;
   36629             : 
   36630          20 :   case 716: /* fdw_options: fdw_options fdw_option  */
   36631             : #line 5466 "gram.y"
   36632             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   36633             : #line 36634 "gram.c"
   36634          20 :     break;
   36635             : 
   36636          54 :   case 717: /* opt_fdw_options: fdw_options  */
   36637             : #line 5470 "gram.y"
   36638             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   36639             : #line 36640 "gram.c"
   36640          54 :     break;
   36641             : 
   36642         246 :   case 718: /* opt_fdw_options: %empty  */
   36643             : #line 5471 "gram.y"
   36644             :                                                                                         { (yyval.list) = NIL; }
   36645             : #line 36646 "gram.c"
   36646         246 :     break;
   36647             : 
   36648          86 :   case 719: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options  */
   36649             : #line 5482 "gram.y"
   36650             :                                 {
   36651             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   36652             : 
   36653             :                     n->fdwname = (yyvsp[-2].str);
   36654             :                     n->func_options = (yyvsp[-1].list);
   36655             :                     n->options = (yyvsp[0].list);
   36656             :                     (yyval.node) = (Node *) n;
   36657             :                 }
   36658             : #line 36659 "gram.c"
   36659          86 :     break;
   36660             : 
   36661          36 :   case 720: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options  */
   36662             : #line 5491 "gram.y"
   36663             :                                 {
   36664             :                     AlterFdwStmt *n = makeNode(AlterFdwStmt);
   36665             : 
   36666             :                     n->fdwname = (yyvsp[-1].str);
   36667             :                     n->func_options = (yyvsp[0].list);
   36668             :                     n->options = NIL;
   36669             :                     (yyval.node) = (Node *) n;
   36670             :                 }
   36671             : #line 36672 "gram.c"
   36672          36 :     break;
   36673             : 
   36674         744 :   case 721: /* create_generic_options: OPTIONS '(' generic_option_list ')'  */
   36675             : #line 5503 "gram.y"
   36676             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   36677             : #line 36678 "gram.c"
   36678         744 :     break;
   36679             : 
   36680       73128 :   case 722: /* create_generic_options: %empty  */
   36681             : #line 5504 "gram.y"
   36682             :                                                                                                         { (yyval.list) = NIL; }
   36683             : #line 36684 "gram.c"
   36684       73128 :     break;
   36685             : 
   36686         744 :   case 723: /* generic_option_list: generic_option_elem  */
   36687             : #line 5509 "gram.y"
   36688             :                                 {
   36689             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   36690             :                 }
   36691             : #line 36692 "gram.c"
   36692         744 :     break;
   36693             : 
   36694         480 :   case 724: /* generic_option_list: generic_option_list ',' generic_option_elem  */
   36695             : #line 5513 "gram.y"
   36696             :                                 {
   36697             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   36698             :                 }
   36699             : #line 36700 "gram.c"
   36700         480 :     break;
   36701             : 
   36702         504 :   case 725: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')'  */
   36703             : #line 5520 "gram.y"
   36704             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   36705             : #line 36706 "gram.c"
   36706         504 :     break;
   36707             : 
   36708         504 :   case 726: /* alter_generic_option_list: alter_generic_option_elem  */
   36709             : #line 5525 "gram.y"
   36710             :                                 {
   36711             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   36712             :                 }
   36713             : #line 36714 "gram.c"
   36714         504 :     break;
   36715             : 
   36716         168 :   case 727: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem  */
   36717             : #line 5529 "gram.y"
   36718             :                                 {
   36719             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   36720             :                 }
   36721             : #line 36722 "gram.c"
   36722         168 :     break;
   36723             : 
   36724         200 :   case 728: /* alter_generic_option_elem: generic_option_elem  */
   36725             : #line 5536 "gram.y"
   36726             :                                 {
   36727             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36728             :                 }
   36729             : #line 36730 "gram.c"
   36730         200 :     break;
   36731             : 
   36732         128 :   case 729: /* alter_generic_option_elem: SET generic_option_elem  */
   36733             : #line 5540 "gram.y"
   36734             :                                 {
   36735             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36736             :                     (yyval.defelt)->defaction = DEFELEM_SET;
   36737             :                 }
   36738             : #line 36739 "gram.c"
   36739         128 :     break;
   36740             : 
   36741         218 :   case 730: /* alter_generic_option_elem: ADD_P generic_option_elem  */
   36742             : #line 5545 "gram.y"
   36743             :                                 {
   36744             :                     (yyval.defelt) = (yyvsp[0].defelt);
   36745             :                     (yyval.defelt)->defaction = DEFELEM_ADD;
   36746             :                 }
   36747             : #line 36748 "gram.c"
   36748         218 :     break;
   36749             : 
   36750         126 :   case 731: /* alter_generic_option_elem: DROP generic_option_name  */
   36751             : #line 5550 "gram.y"
   36752             :                                 {
   36753             :                     (yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
   36754             :                 }
   36755             : #line 36756 "gram.c"
   36756         126 :     break;
   36757             : 
   36758        1770 :   case 732: /* generic_option_elem: generic_option_name generic_option_arg  */
   36759             : #line 5557 "gram.y"
   36760             :                                 {
   36761             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   36762             :                 }
   36763             : #line 36764 "gram.c"
   36764        1770 :     break;
   36765             : 
   36766        1896 :   case 733: /* generic_option_name: ColLabel  */
   36767             : #line 5563 "gram.y"
   36768             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   36769             : #line 36770 "gram.c"
   36770        1896 :     break;
   36771             : 
   36772        1770 :   case 734: /* generic_option_arg: Sconst  */
   36773             : #line 5568 "gram.y"
   36774             :                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   36775             : #line 36776 "gram.c"
   36776        1770 :     break;
   36777             : 
   36778         274 :   case 735: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options  */
   36779             : #line 5580 "gram.y"
   36780             :                                 {
   36781             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   36782             : 
   36783             :                     n->servername = (yyvsp[-7].str);
   36784             :                     n->servertype = (yyvsp[-6].str);
   36785             :                     n->version = (yyvsp[-5].str);
   36786             :                     n->fdwname = (yyvsp[-1].str);
   36787             :                     n->options = (yyvsp[0].list);
   36788             :                     n->if_not_exists = false;
   36789             :                     (yyval.node) = (Node *) n;
   36790             :                 }
   36791             : #line 36792 "gram.c"
   36792         274 :     break;
   36793             : 
   36794          24 :   case 736: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options  */
   36795             : #line 5593 "gram.y"
   36796             :                                 {
   36797             :                     CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
   36798             : 
   36799             :                     n->servername = (yyvsp[-7].str);
   36800             :                     n->servertype = (yyvsp[-6].str);
   36801             :                     n->version = (yyvsp[-5].str);
   36802             :                     n->fdwname = (yyvsp[-1].str);
   36803             :                     n->options = (yyvsp[0].list);
   36804             :                     n->if_not_exists = true;
   36805             :                     (yyval.node) = (Node *) n;
   36806             :                 }
   36807             : #line 36808 "gram.c"
   36808          24 :     break;
   36809             : 
   36810          18 :   case 737: /* opt_type: TYPE_P Sconst  */
   36811             : #line 5607 "gram.y"
   36812             :                                                         { (yyval.str) = (yyvsp[0].str); }
   36813             : #line 36814 "gram.c"
   36814          18 :     break;
   36815             : 
   36816         280 :   case 738: /* opt_type: %empty  */
   36817             : #line 5608 "gram.y"
   36818             :                                                                 { (yyval.str) = NULL; }
   36819             : #line 36820 "gram.c"
   36820         280 :     break;
   36821             : 
   36822          66 :   case 739: /* foreign_server_version: VERSION_P Sconst  */
   36823             : #line 5613 "gram.y"
   36824             :                                                         { (yyval.str) = (yyvsp[0].str); }
   36825             : #line 36826 "gram.c"
   36826          66 :     break;
   36827             : 
   36828           0 :   case 740: /* foreign_server_version: VERSION_P NULL_P  */
   36829             : #line 5614 "gram.y"
   36830             :                                                         { (yyval.str) = NULL; }
   36831             : #line 36832 "gram.c"
   36832           0 :     break;
   36833             : 
   36834          18 :   case 741: /* opt_foreign_server_version: foreign_server_version  */
   36835             : #line 5618 "gram.y"
   36836             :                                                 { (yyval.str) = (yyvsp[0].str); }
   36837             : #line 36838 "gram.c"
   36838          18 :     break;
   36839             : 
   36840         280 :   case 742: /* opt_foreign_server_version: %empty  */
   36841             : #line 5619 "gram.y"
   36842             :                                                                 { (yyval.str) = NULL; }
   36843             : #line 36844 "gram.c"
   36844         280 :     break;
   36845             : 
   36846           6 :   case 743: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options  */
   36847             : #line 5630 "gram.y"
   36848             :                                 {
   36849             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36850             : 
   36851             :                     n->servername = (yyvsp[-2].str);
   36852             :                     n->version = (yyvsp[-1].str);
   36853             :                     n->options = (yyvsp[0].list);
   36854             :                     n->has_version = true;
   36855             :                     (yyval.node) = (Node *) n;
   36856             :                 }
   36857             : #line 36858 "gram.c"
   36858           6 :     break;
   36859             : 
   36860          42 :   case 744: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version  */
   36861             : #line 5640 "gram.y"
   36862             :                                 {
   36863             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36864             : 
   36865             :                     n->servername = (yyvsp[-1].str);
   36866             :                     n->version = (yyvsp[0].str);
   36867             :                     n->has_version = true;
   36868             :                     (yyval.node) = (Node *) n;
   36869             :                 }
   36870             : #line 36871 "gram.c"
   36871          42 :     break;
   36872             : 
   36873         180 :   case 745: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options  */
   36874             : #line 5649 "gram.y"
   36875             :                                 {
   36876             :                     AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
   36877             : 
   36878             :                     n->servername = (yyvsp[-1].str);
   36879             :                     n->options = (yyvsp[0].list);
   36880             :                     (yyval.node) = (Node *) n;
   36881             :                 }
   36882             : #line 36883 "gram.c"
   36883         180 :     break;
   36884             : 
   36885         400 :   case 746: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   36886             : #line 5669 "gram.y"
   36887             :                                 {
   36888             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36889             : 
   36890             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36891             :                     n->base.relation = (yyvsp[-7].range);
   36892             :                     n->base.tableElts = (yyvsp[-5].list);
   36893             :                     n->base.inhRelations = (yyvsp[-3].list);
   36894             :                     n->base.ofTypename = NULL;
   36895             :                     n->base.constraints = NIL;
   36896             :                     n->base.options = NIL;
   36897             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36898             :                     n->base.tablespacename = NULL;
   36899             :                     n->base.if_not_exists = false;
   36900             :                     /* FDW-specific data */
   36901             :                     n->servername = (yyvsp[-1].str);
   36902             :                     n->options = (yyvsp[0].list);
   36903             :                     (yyval.node) = (Node *) n;
   36904             :                 }
   36905             : #line 36906 "gram.c"
   36906         400 :     break;
   36907             : 
   36908           0 :   case 747: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options  */
   36909             : #line 5690 "gram.y"
   36910             :                                 {
   36911             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36912             : 
   36913             :                     (yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36914             :                     n->base.relation = (yyvsp[-7].range);
   36915             :                     n->base.tableElts = (yyvsp[-5].list);
   36916             :                     n->base.inhRelations = (yyvsp[-3].list);
   36917             :                     n->base.ofTypename = NULL;
   36918             :                     n->base.constraints = NIL;
   36919             :                     n->base.options = NIL;
   36920             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36921             :                     n->base.tablespacename = NULL;
   36922             :                     n->base.if_not_exists = true;
   36923             :                     /* FDW-specific data */
   36924             :                     n->servername = (yyvsp[-1].str);
   36925             :                     n->options = (yyvsp[0].list);
   36926             :                     (yyval.node) = (Node *) n;
   36927             :                 }
   36928             : #line 36929 "gram.c"
   36929           0 :     break;
   36930             : 
   36931          90 :   case 748: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   36932             : #line 5711 "gram.y"
   36933             :                                 {
   36934             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36935             : 
   36936             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36937             :                     n->base.relation = (yyvsp[-8].range);
   36938             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   36939             :                     n->base.tableElts = (yyvsp[-4].list);
   36940             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   36941             :                     n->base.ofTypename = NULL;
   36942             :                     n->base.constraints = NIL;
   36943             :                     n->base.options = NIL;
   36944             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36945             :                     n->base.tablespacename = NULL;
   36946             :                     n->base.if_not_exists = false;
   36947             :                     /* FDW-specific data */
   36948             :                     n->servername = (yyvsp[-1].str);
   36949             :                     n->options = (yyvsp[0].list);
   36950             :                     (yyval.node) = (Node *) n;
   36951             :                 }
   36952             : #line 36953 "gram.c"
   36953          90 :     break;
   36954             : 
   36955           0 :   case 749: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options  */
   36956             : #line 5733 "gram.y"
   36957             :                                 {
   36958             :                     CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
   36959             : 
   36960             :                     (yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
   36961             :                     n->base.relation = (yyvsp[-8].range);
   36962             :                     n->base.inhRelations = list_make1((yyvsp[-5].range));
   36963             :                     n->base.tableElts = (yyvsp[-4].list);
   36964             :                     n->base.partbound = (yyvsp[-3].partboundspec);
   36965             :                     n->base.ofTypename = NULL;
   36966             :                     n->base.constraints = NIL;
   36967             :                     n->base.options = NIL;
   36968             :                     n->base.oncommit = ONCOMMIT_NOOP;
   36969             :                     n->base.tablespacename = NULL;
   36970             :                     n->base.if_not_exists = true;
   36971             :                     /* FDW-specific data */
   36972             :                     n->servername = (yyvsp[-1].str);
   36973             :                     n->options = (yyvsp[0].list);
   36974             :                     (yyval.node) = (Node *) n;
   36975             :                 }
   36976             : #line 36977 "gram.c"
   36977           0 :     break;
   36978             : 
   36979          48 :   case 750: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options  */
   36980             : #line 5766 "gram.y"
   36981             :                         {
   36982             :                 ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
   36983             : 
   36984             :                 n->server_name = (yyvsp[-3].str);
   36985             :                 n->remote_schema = (yyvsp[-7].str);
   36986             :                 n->local_schema = (yyvsp[-1].str);
   36987             :                 n->list_type = (yyvsp[-6].importqual)->type;
   36988             :                 n->table_list = (yyvsp[-6].importqual)->table_names;
   36989             :                 n->options = (yyvsp[0].list);
   36990             :                 (yyval.node) = (Node *) n;
   36991             :             }
   36992             : #line 36993 "gram.c"
   36993          48 :     break;
   36994             : 
   36995          14 :   case 751: /* import_qualification_type: LIMIT TO  */
   36996             : #line 5780 "gram.y"
   36997             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
   36998             : #line 36999 "gram.c"
   36999          14 :     break;
   37000             : 
   37001          14 :   case 752: /* import_qualification_type: EXCEPT  */
   37002             : #line 5781 "gram.y"
   37003             :                                                         { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
   37004             : #line 37005 "gram.c"
   37005          14 :     break;
   37006             : 
   37007          28 :   case 753: /* import_qualification: import_qualification_type '(' relation_expr_list ')'  */
   37008             : #line 5786 "gram.y"
   37009             :                         {
   37010             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37011             : 
   37012             :                 n->type = (yyvsp[-3].ival);
   37013             :                 n->table_names = (yyvsp[-1].list);
   37014             :                 (yyval.importqual) = n;
   37015             :             }
   37016             : #line 37017 "gram.c"
   37017          28 :     break;
   37018             : 
   37019          20 :   case 754: /* import_qualification: %empty  */
   37020             : #line 5794 "gram.y"
   37021             :                         {
   37022             :                 ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
   37023             :                 n->type = FDW_IMPORT_SCHEMA_ALL;
   37024             :                 n->table_names = NIL;
   37025             :                 (yyval.importqual) = n;
   37026             :             }
   37027             : #line 37028 "gram.c"
   37028          20 :     break;
   37029             : 
   37030         246 :   case 755: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options  */
   37031             : #line 5810 "gram.y"
   37032             :                                 {
   37033             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37034             : 
   37035             :                     n->user = (yyvsp[-3].rolespec);
   37036             :                     n->servername = (yyvsp[-1].str);
   37037             :                     n->options = (yyvsp[0].list);
   37038             :                     n->if_not_exists = false;
   37039             :                     (yyval.node) = (Node *) n;
   37040             :                 }
   37041             : #line 37042 "gram.c"
   37042         246 :     break;
   37043             : 
   37044           6 :   case 756: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options  */
   37045             : #line 5820 "gram.y"
   37046             :                                 {
   37047             :                     CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
   37048             : 
   37049             :                     n->user = (yyvsp[-3].rolespec);
   37050             :                     n->servername = (yyvsp[-1].str);
   37051             :                     n->options = (yyvsp[0].list);
   37052             :                     n->if_not_exists = true;
   37053             :                     (yyval.node) = (Node *) n;
   37054             :                 }
   37055             : #line 37056 "gram.c"
   37056           6 :     break;
   37057             : 
   37058         450 :   case 757: /* auth_ident: RoleSpec  */
   37059             : #line 5832 "gram.y"
   37060             :                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   37061             : #line 37062 "gram.c"
   37062         450 :     break;
   37063             : 
   37064          46 :   case 758: /* auth_ident: USER  */
   37065             : #line 5833 "gram.y"
   37066             :                                                         { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
   37067             : #line 37068 "gram.c"
   37068          46 :     break;
   37069             : 
   37070          88 :   case 759: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name  */
   37071             : #line 5846 "gram.y"
   37072             :                                 {
   37073             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37074             : 
   37075             :                     n->user = (yyvsp[-2].rolespec);
   37076             :                     n->servername = (yyvsp[0].str);
   37077             :                     n->missing_ok = false;
   37078             :                     (yyval.node) = (Node *) n;
   37079             :                 }
   37080             : #line 37081 "gram.c"
   37081          88 :     break;
   37082             : 
   37083          38 :   case 760: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name  */
   37084             : #line 5855 "gram.y"
   37085             :                                 {
   37086             :                     DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
   37087             : 
   37088             :                     n->user = (yyvsp[-2].rolespec);
   37089             :                     n->servername = (yyvsp[0].str);
   37090             :                     n->missing_ok = true;
   37091             :                     (yyval.node) = (Node *) n;
   37092             :                 }
   37093             : #line 37094 "gram.c"
   37094          38 :     break;
   37095             : 
   37096         118 :   case 761: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options  */
   37097             : #line 5873 "gram.y"
   37098             :                                 {
   37099             :                     AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
   37100             : 
   37101             :                     n->user = (yyvsp[-3].rolespec);
   37102             :                     n->servername = (yyvsp[-1].str);
   37103             :                     n->options = (yyvsp[0].list);
   37104             :                     (yyval.node) = (Node *) n;
   37105             :                 }
   37106             : #line 37107 "gram.c"
   37107         118 :     break;
   37108             : 
   37109         706 :   case 762: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37110             : #line 5900 "gram.y"
   37111             :                                 {
   37112             :                     CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
   37113             : 
   37114             :                     n->policy_name = (yyvsp[-7].str);
   37115             :                     n->table = (yyvsp[-5].range);
   37116             :                     n->permissive = (yyvsp[-4].boolean);
   37117             :                     n->cmd_name = (yyvsp[-3].str);
   37118             :                     n->roles = (yyvsp[-2].list);
   37119             :                     n->qual = (yyvsp[-1].node);
   37120             :                     n->with_check = (yyvsp[0].node);
   37121             :                     (yyval.node) = (Node *) n;
   37122             :                 }
   37123             : #line 37124 "gram.c"
   37124         706 :     break;
   37125             : 
   37126          84 :   case 763: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck  */
   37127             : #line 5917 "gram.y"
   37128             :                                 {
   37129             :                     AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
   37130             : 
   37131             :                     n->policy_name = (yyvsp[-5].str);
   37132             :                     n->table = (yyvsp[-3].range);
   37133             :                     n->roles = (yyvsp[-2].list);
   37134             :                     n->qual = (yyvsp[-1].node);
   37135             :                     n->with_check = (yyvsp[0].node);
   37136             :                     (yyval.node) = (Node *) n;
   37137             :                 }
   37138             : #line 37139 "gram.c"
   37139          84 :     break;
   37140             : 
   37141         732 :   case 764: /* RowSecurityOptionalExpr: USING '(' a_expr ')'  */
   37142             : #line 5930 "gram.y"
   37143             :                                                 { (yyval.node) = (yyvsp[-1].node); }
   37144             : #line 37145 "gram.c"
   37145         732 :     break;
   37146             : 
   37147          58 :   case 765: /* RowSecurityOptionalExpr: %empty  */
   37148             : #line 5931 "gram.y"
   37149             :                                                         { (yyval.node) = NULL; }
   37150             : #line 37151 "gram.c"
   37151          58 :     break;
   37152             : 
   37153         128 :   case 766: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')'  */
   37154             : #line 5935 "gram.y"
   37155             :                                                                 { (yyval.node) = (yyvsp[-1].node); }
   37156             : #line 37157 "gram.c"
   37157         128 :     break;
   37158             : 
   37159         662 :   case 767: /* RowSecurityOptionalWithCheck: %empty  */
   37160             : #line 5936 "gram.y"
   37161             :                                                                         { (yyval.node) = NULL; }
   37162             : #line 37163 "gram.c"
   37163         662 :     break;
   37164             : 
   37165         130 :   case 768: /* RowSecurityDefaultToRole: TO role_list  */
   37166             : #line 5940 "gram.y"
   37167             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37168             : #line 37169 "gram.c"
   37169         130 :     break;
   37170             : 
   37171         576 :   case 769: /* RowSecurityDefaultToRole: %empty  */
   37172             : #line 5941 "gram.y"
   37173             :                                                         { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
   37174             : #line 37175 "gram.c"
   37175         576 :     break;
   37176             : 
   37177          12 :   case 770: /* RowSecurityOptionalToRole: TO role_list  */
   37178             : #line 5945 "gram.y"
   37179             :                                                         { (yyval.list) = (yyvsp[0].list); }
   37180             : #line 37181 "gram.c"
   37181          12 :     break;
   37182             : 
   37183          72 :   case 771: /* RowSecurityOptionalToRole: %empty  */
   37184             : #line 5946 "gram.y"
   37185             :                                                         { (yyval.list) = NULL; }
   37186             : #line 37187 "gram.c"
   37187          72 :     break;
   37188             : 
   37189          98 :   case 772: /* RowSecurityDefaultPermissive: AS IDENT  */
   37190             : #line 5951 "gram.y"
   37191             :                                 {
   37192             :                     if (strcmp((yyvsp[0].str), "permissive") == 0)
   37193             :                         (yyval.boolean) = true;
   37194             :                     else if (strcmp((yyvsp[0].str), "restrictive") == 0)
   37195             :                         (yyval.boolean) = false;
   37196             :                     else
   37197             :                         ereport(ERROR,
   37198             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37199             :                                  errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
   37200             :                                  errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
   37201             :                                  parser_errposition((yylsp[0]))));
   37202             : 
   37203             :                 }
   37204             : #line 37205 "gram.c"
   37205          92 :     break;
   37206             : 
   37207         614 :   case 773: /* RowSecurityDefaultPermissive: %empty  */
   37208             : #line 5964 "gram.y"
   37209             :                                                         { (yyval.boolean) = true; }
   37210             : #line 37211 "gram.c"
   37211         614 :     break;
   37212             : 
   37213         332 :   case 774: /* RowSecurityDefaultForCmd: FOR row_security_cmd  */
   37214             : #line 5968 "gram.y"
   37215             :                                                 { (yyval.str) = (yyvsp[0].str); }
   37216             : #line 37217 "gram.c"
   37217         332 :     break;
   37218             : 
   37219         374 :   case 775: /* RowSecurityDefaultForCmd: %empty  */
   37220             : #line 5969 "gram.y"
   37221             :                                                         { (yyval.str) = "all"; }
   37222             : #line 37223 "gram.c"
   37223         374 :     break;
   37224             : 
   37225          44 :   case 776: /* row_security_cmd: ALL  */
   37226             : #line 5973 "gram.y"
   37227             :                                                         { (yyval.str) = "all"; }
   37228             : #line 37229 "gram.c"
   37229          44 :     break;
   37230             : 
   37231         116 :   case 777: /* row_security_cmd: SELECT  */
   37232             : #line 5974 "gram.y"
   37233             :                                                 { (yyval.str) = "select"; }
   37234             : #line 37235 "gram.c"
   37235         116 :     break;
   37236             : 
   37237          44 :   case 778: /* row_security_cmd: INSERT  */
   37238             : #line 5975 "gram.y"
   37239             :                                                 { (yyval.str) = "insert"; }
   37240             : #line 37241 "gram.c"
   37241          44 :     break;
   37242             : 
   37243          82 :   case 779: /* row_security_cmd: UPDATE  */
   37244             : #line 5976 "gram.y"
   37245             :                                                 { (yyval.str) = "update"; }
   37246             : #line 37247 "gram.c"
   37247          82 :     break;
   37248             : 
   37249          46 :   case 780: /* row_security_cmd: DELETE_P  */
   37250             : #line 5977 "gram.y"
   37251             :                                                 { (yyval.str) = "delete"; }
   37252             : #line 37253 "gram.c"
   37253          46 :     break;
   37254             : 
   37255          64 :   case 781: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name  */
   37256             : #line 5988 "gram.y"
   37257             :                                 {
   37258             :                     CreateAmStmt *n = makeNode(CreateAmStmt);
   37259             : 
   37260             :                     n->amname = (yyvsp[-4].str);
   37261             :                     n->handler_name = (yyvsp[0].list);
   37262             :                     n->amtype = (yyvsp[-2].chr);
   37263             :                     (yyval.node) = (Node *) n;
   37264             :                 }
   37265             : #line 37266 "gram.c"
   37266          64 :     break;
   37267             : 
   37268          34 :   case 782: /* am_type: INDEX  */
   37269             : #line 5999 "gram.y"
   37270             :                                                 { (yyval.chr) = AMTYPE_INDEX; }
   37271             : #line 37272 "gram.c"
   37272          34 :     break;
   37273             : 
   37274          30 :   case 783: /* am_type: TABLE  */
   37275             : #line 6000 "gram.y"
   37276             :                                                 { (yyval.chr) = AMTYPE_TABLE; }
   37277             : #line 37278 "gram.c"
   37278          30 :     break;
   37279             : 
   37280        3260 :   case 784: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')'  */
   37281             : #line 6014 "gram.y"
   37282             :                                 {
   37283             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37284             : 
   37285             :                     n->replace = (yyvsp[-15].boolean);
   37286             :                     n->isconstraint = false;
   37287             :                     n->trigname = (yyvsp[-13].str);
   37288             :                     n->relation = (yyvsp[-9].range);
   37289             :                     n->funcname = (yyvsp[-3].list);
   37290             :                     n->args = (yyvsp[-1].list);
   37291             :                     n->row = (yyvsp[-7].boolean);
   37292             :                     n->timing = (yyvsp[-12].ival);
   37293             :                     n->events = intVal(linitial((yyvsp[-11].list)));
   37294             :                     n->columns = (List *) lsecond((yyvsp[-11].list));
   37295             :                     n->whenClause = (yyvsp[-6].node);
   37296             :                     n->transitionRels = (yyvsp[-8].list);
   37297             :                     n->deferrable = false;
   37298             :                     n->initdeferred = false;
   37299             :                     n->constrrel = NULL;
   37300             :                     (yyval.node) = (Node *) n;
   37301             :                 }
   37302             : #line 37303 "gram.c"
   37303        3260 :     break;
   37304             : 
   37305          62 :   case 785: /* 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 ')'  */
   37306             : #line 6038 "gram.y"
   37307             :                                 {
   37308             :                     CreateTrigStmt *n = makeNode(CreateTrigStmt);
   37309             : 
   37310             :                     n->replace = (yyvsp[-19].boolean);
   37311             :                     if (n->replace) /* not supported, see CreateTrigger */
   37312             :                         ereport(ERROR,
   37313             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   37314             :                                  errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported"),
   37315             :                                  parser_errposition((yylsp[-20]))));
   37316             :                     n->isconstraint = true;
   37317             :                     n->trigname = (yyvsp[-16].str);
   37318             :                     n->relation = (yyvsp[-12].range);
   37319             :                     n->funcname = (yyvsp[-3].list);
   37320             :                     n->args = (yyvsp[-1].list);
   37321             :                     n->row = true;
   37322             :                     n->timing = TRIGGER_TYPE_AFTER;
   37323             :                     n->events = intVal(linitial((yyvsp[-14].list)));
   37324             :                     n->columns = (List *) lsecond((yyvsp[-14].list));
   37325             :                     n->whenClause = (yyvsp[-6].node);
   37326             :                     n->transitionRels = NIL;
   37327             :                     processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
   37328             :                                    &n->deferrable, &n->initdeferred, NULL,
   37329             :                                    NULL, NULL, yyscanner);
   37330             :                     n->constrrel = (yyvsp[-11].range);
   37331             :                     (yyval.node) = (Node *) n;
   37332             :                 }
   37333             : #line 37334 "gram.c"
   37334          62 :     break;
   37335             : 
   37336        1478 :   case 786: /* TriggerActionTime: BEFORE  */
   37337             : #line 6067 "gram.y"
   37338             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
   37339             : #line 37340 "gram.c"
   37340        1478 :     break;
   37341             : 
   37342        1650 :   case 787: /* TriggerActionTime: AFTER  */
   37343             : #line 6068 "gram.y"
   37344             :                                                                                         { (yyval.ival) = TRIGGER_TYPE_AFTER; }
   37345             : #line 37346 "gram.c"
   37346        1650 :     break;
   37347             : 
   37348         144 :   case 788: /* TriggerActionTime: INSTEAD OF  */
   37349             : #line 6069 "gram.y"
   37350             :                                                                                 { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
   37351             : #line 37352 "gram.c"
   37352         144 :     break;
   37353             : 
   37354        3334 :   case 789: /* TriggerEvents: TriggerOneEvent  */
   37355             : #line 6074 "gram.y"
   37356             :                                 { (yyval.list) = (yyvsp[0].list); }
   37357             : #line 37358 "gram.c"
   37358        3334 :     break;
   37359             : 
   37360        1212 :   case 790: /* TriggerEvents: TriggerEvents OR TriggerOneEvent  */
   37361             : #line 6076 "gram.y"
   37362             :                                 {
   37363             :                     int         events1 = intVal(linitial((yyvsp[-2].list)));
   37364             :                     int         events2 = intVal(linitial((yyvsp[0].list)));
   37365             :                     List       *columns1 = (List *) lsecond((yyvsp[-2].list));
   37366             :                     List       *columns2 = (List *) lsecond((yyvsp[0].list));
   37367             : 
   37368             :                     if (events1 & events2)
   37369             :                         parser_yyerror("duplicate trigger events specified");
   37370             :                     /*
   37371             :                      * concat'ing the columns lists loses information about
   37372             :                      * which columns went with which event, but so long as
   37373             :                      * only UPDATE carries columns and we disallow multiple
   37374             :                      * UPDATE items, it doesn't matter.  Command execution
   37375             :                      * should just ignore the columns for non-UPDATE events.
   37376             :                      */
   37377             :                     (yyval.list) = list_make2(makeInteger(events1 | events2),
   37378             :                                     list_concat(columns1, columns2));
   37379             :                 }
   37380             : #line 37381 "gram.c"
   37381        1206 :     break;
   37382             : 
   37383        1710 :   case 791: /* TriggerOneEvent: INSERT  */
   37384             : #line 6098 "gram.y"
   37385             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
   37386             : #line 37387 "gram.c"
   37387        1710 :     break;
   37388             : 
   37389         896 :   case 792: /* TriggerOneEvent: DELETE_P  */
   37390             : #line 6100 "gram.y"
   37391             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
   37392             : #line 37393 "gram.c"
   37393         896 :     break;
   37394             : 
   37395        1794 :   case 793: /* TriggerOneEvent: UPDATE  */
   37396             : #line 6102 "gram.y"
   37397             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
   37398             : #line 37399 "gram.c"
   37399        1794 :     break;
   37400             : 
   37401         108 :   case 794: /* TriggerOneEvent: UPDATE OF columnList  */
   37402             : #line 6104 "gram.y"
   37403             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
   37404             : #line 37405 "gram.c"
   37405         108 :     break;
   37406             : 
   37407          38 :   case 795: /* TriggerOneEvent: TRUNCATE  */
   37408             : #line 6106 "gram.y"
   37409             :                                 { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
   37410             : #line 37411 "gram.c"
   37411          38 :     break;
   37412             : 
   37413         470 :   case 796: /* TriggerReferencing: REFERENCING TriggerTransitions  */
   37414             : #line 6110 "gram.y"
   37415             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   37416             : #line 37417 "gram.c"
   37417         470 :     break;
   37418             : 
   37419        2790 :   case 797: /* TriggerReferencing: %empty  */
   37420             : #line 6111 "gram.y"
   37421             :                                                                                                 { (yyval.list) = NIL; }
   37422             : #line 37423 "gram.c"
   37423        2790 :     break;
   37424             : 
   37425         470 :   case 798: /* TriggerTransitions: TriggerTransition  */
   37426             : #line 6115 "gram.y"
   37427             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37428             : #line 37429 "gram.c"
   37429         470 :     break;
   37430             : 
   37431         144 :   case 799: /* TriggerTransitions: TriggerTransitions TriggerTransition  */
   37432             : #line 6116 "gram.y"
   37433             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   37434             : #line 37435 "gram.c"
   37435         144 :     break;
   37436             : 
   37437         614 :   case 800: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName  */
   37438             : #line 6121 "gram.y"
   37439             :                                 {
   37440             :                     TriggerTransition *n = makeNode(TriggerTransition);
   37441             : 
   37442             :                     n->name = (yyvsp[0].str);
   37443             :                     n->isNew = (yyvsp[-3].boolean);
   37444             :                     n->isTable = (yyvsp[-2].boolean);
   37445             :                     (yyval.node) = (Node *) n;
   37446             :                 }
   37447             : #line 37448 "gram.c"
   37448         614 :     break;
   37449             : 
   37450         336 :   case 801: /* TransitionOldOrNew: NEW  */
   37451             : #line 6132 "gram.y"
   37452             :                                                                                                         { (yyval.boolean) = true; }
   37453             : #line 37454 "gram.c"
   37454         336 :     break;
   37455             : 
   37456         278 :   case 802: /* TransitionOldOrNew: OLD  */
   37457             : #line 6133 "gram.y"
   37458             :                                                                                                 { (yyval.boolean) = false; }
   37459             : #line 37460 "gram.c"
   37460         278 :     break;
   37461             : 
   37462         614 :   case 803: /* TransitionRowOrTable: TABLE  */
   37463             : #line 6137 "gram.y"
   37464             :                                                                                                 { (yyval.boolean) = true; }
   37465             : #line 37466 "gram.c"
   37466         614 :     break;
   37467             : 
   37468           0 :   case 804: /* TransitionRowOrTable: ROW  */
   37469             : #line 6146 "gram.y"
   37470             :                                                                                                 { (yyval.boolean) = false; }
   37471             : #line 37472 "gram.c"
   37472           0 :     break;
   37473             : 
   37474         614 :   case 805: /* TransitionRelName: ColId  */
   37475             : #line 6150 "gram.y"
   37476             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   37477             : #line 37478 "gram.c"
   37478         614 :     break;
   37479             : 
   37480        3032 :   case 806: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType  */
   37481             : #line 6155 "gram.y"
   37482             :                                 {
   37483             :                     (yyval.boolean) = (yyvsp[0].boolean);
   37484             :                 }
   37485             : #line 37486 "gram.c"
   37486        3032 :     break;
   37487             : 
   37488         228 :   case 807: /* TriggerForSpec: %empty  */
   37489             : #line 6159 "gram.y"
   37490             :                                 {
   37491             :                     /*
   37492             :                      * If ROW/STATEMENT not specified, default to
   37493             :                      * STATEMENT, per SQL
   37494             :                      */
   37495             :                     (yyval.boolean) = false;
   37496             :                 }
   37497             : #line 37498 "gram.c"
   37498         228 :     break;
   37499             : 
   37500        2196 :   case 810: /* TriggerForType: ROW  */
   37501             : #line 6174 "gram.y"
   37502             :                                                                                                         { (yyval.boolean) = true; }
   37503             : #line 37504 "gram.c"
   37504        2196 :     break;
   37505             : 
   37506         836 :   case 811: /* TriggerForType: STATEMENT  */
   37507             : #line 6175 "gram.y"
   37508             :                                                                                                 { (yyval.boolean) = false; }
   37509             : #line 37510 "gram.c"
   37510         836 :     break;
   37511             : 
   37512         194 :   case 812: /* TriggerWhen: WHEN '(' a_expr ')'  */
   37513             : #line 6179 "gram.y"
   37514             :                                                                                         { (yyval.node) = (yyvsp[-1].node); }
   37515             : #line 37516 "gram.c"
   37516         194 :     break;
   37517             : 
   37518        3128 :   case 813: /* TriggerWhen: %empty  */
   37519             : #line 6180 "gram.y"
   37520             :                                                                                                 { (yyval.node) = NULL; }
   37521             : #line 37522 "gram.c"
   37522        3128 :     break;
   37523             : 
   37524         588 :   case 816: /* TriggerFuncArgs: TriggerFuncArg  */
   37525             : #line 6189 "gram.y"
   37526             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   37527             : #line 37528 "gram.c"
   37528         588 :     break;
   37529             : 
   37530         166 :   case 817: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg  */
   37531             : #line 6190 "gram.y"
   37532             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   37533             : #line 37534 "gram.c"
   37534         166 :     break;
   37535             : 
   37536        2734 :   case 818: /* TriggerFuncArgs: %empty  */
   37537             : #line 6191 "gram.y"
   37538             :                                                                                                 { (yyval.list) = NIL; }
   37539             : #line 37540 "gram.c"
   37540        2734 :     break;
   37541             : 
   37542          94 :   case 819: /* TriggerFuncArg: Iconst  */
   37543             : #line 6196 "gram.y"
   37544             :                                 {
   37545             :                     (yyval.node) = (Node *) makeString(psprintf("%d", (yyvsp[0].ival)));
   37546             :                 }
   37547             : #line 37548 "gram.c"
   37548          94 :     break;
   37549             : 
   37550           0 :   case 820: /* TriggerFuncArg: FCONST  */
   37551             : #line 6199 "gram.y"
   37552             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37553             : #line 37554 "gram.c"
   37554           0 :     break;
   37555             : 
   37556         638 :   case 821: /* TriggerFuncArg: Sconst  */
   37557             : #line 6200 "gram.y"
   37558             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37559             : #line 37560 "gram.c"
   37560         638 :     break;
   37561             : 
   37562          22 :   case 822: /* TriggerFuncArg: ColLabel  */
   37563             : #line 6201 "gram.y"
   37564             :                                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   37565             : #line 37566 "gram.c"
   37566          22 :     break;
   37567             : 
   37568          12 :   case 823: /* OptConstrFromTable: FROM qualified_name  */
   37569             : #line 6205 "gram.y"
   37570             :                                                                                         { (yyval.range) = (yyvsp[0].range); }
   37571             : #line 37572 "gram.c"
   37572          12 :     break;
   37573             : 
   37574          50 :   case 824: /* OptConstrFromTable: %empty  */
   37575             : #line 6206 "gram.y"
   37576             :                                                                                                 { (yyval.range) = NULL; }
   37577             : #line 37578 "gram.c"
   37578          50 :     break;
   37579             : 
   37580       17956 :   case 825: /* ConstraintAttributeSpec: %empty  */
   37581             : #line 6211 "gram.y"
   37582             :                                 { (yyval.ival) = 0; }
   37583             : #line 37584 "gram.c"
   37584       17956 :     break;
   37585             : 
   37586        1688 :   case 826: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem  */
   37587             : #line 6213 "gram.y"
   37588             :                                 {
   37589             :                     /*
   37590             :                      * We must complain about conflicting options.
   37591             :                      * We could, but choose not to, complain about redundant
   37592             :                      * options (ie, where $2's bit is already set in $1).
   37593             :                      */
   37594             :                     int     newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
   37595             : 
   37596             :                     /* special message for this case */
   37597             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   37598             :                         ereport(ERROR,
   37599             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37600             :                                  errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
   37601             :                                  parser_errposition((yylsp[0]))));
   37602             :                     /* generic message for other conflicts */
   37603             :                     if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
   37604             :                         (newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED) ||
   37605             :                         (newspec & (CAS_NOT_ENFORCED | CAS_ENFORCED)) == (CAS_NOT_ENFORCED | CAS_ENFORCED))
   37606             :                         ereport(ERROR,
   37607             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   37608             :                                  errmsg("conflicting constraint properties"),
   37609             :                                  parser_errposition((yylsp[0]))));
   37610             :                     (yyval.ival) = newspec;
   37611             :                 }
   37612             : #line 37613 "gram.c"
   37613        1676 :     break;
   37614             : 
   37615          42 :   case 827: /* ConstraintAttributeElem: NOT DEFERRABLE  */
   37616             : #line 6240 "gram.y"
   37617             :                                                                         { (yyval.ival) = CAS_NOT_DEFERRABLE; }
   37618             : #line 37619 "gram.c"
   37619          42 :     break;
   37620             : 
   37621         212 :   case 828: /* ConstraintAttributeElem: DEFERRABLE  */
   37622             : #line 6241 "gram.y"
   37623             :                                                                         { (yyval.ival) = CAS_DEFERRABLE; }
   37624             : #line 37625 "gram.c"
   37625         212 :     break;
   37626             : 
   37627          30 :   case 829: /* ConstraintAttributeElem: INITIALLY IMMEDIATE  */
   37628             : #line 6242 "gram.y"
   37629             :                                                                 { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
   37630             : #line 37631 "gram.c"
   37631          30 :     break;
   37632             : 
   37633         158 :   case 830: /* ConstraintAttributeElem: INITIALLY DEFERRED  */
   37634             : #line 6243 "gram.y"
   37635             :                                                                 { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
   37636             : #line 37637 "gram.c"
   37637         158 :     break;
   37638             : 
   37639         728 :   case 831: /* ConstraintAttributeElem: NOT VALID  */
   37640             : #line 6244 "gram.y"
   37641             :                                                                                 { (yyval.ival) = CAS_NOT_VALID; }
   37642             : #line 37643 "gram.c"
   37643         728 :     break;
   37644             : 
   37645         248 :   case 832: /* ConstraintAttributeElem: NO INHERIT  */
   37646             : #line 6245 "gram.y"
   37647             :                                                                         { (yyval.ival) = CAS_NO_INHERIT; }
   37648             : #line 37649 "gram.c"
   37649         248 :     break;
   37650             : 
   37651         168 :   case 833: /* ConstraintAttributeElem: NOT ENFORCED  */
   37652             : #line 6246 "gram.y"
   37653             :                                                                         { (yyval.ival) = CAS_NOT_ENFORCED; }
   37654             : #line 37655 "gram.c"
   37655         168 :     break;
   37656             : 
   37657         102 :   case 834: /* ConstraintAttributeElem: ENFORCED  */
   37658             : #line 6247 "gram.y"
   37659             :                                                                                 { (yyval.ival) = CAS_ENFORCED; }
   37660             : #line 37661 "gram.c"
   37661         102 :     break;
   37662             : 
   37663          98 :   case 835: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   37664             : #line 6262 "gram.y"
   37665             :                                 {
   37666             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   37667             : 
   37668             :                     n->trigname = (yyvsp[-7].str);
   37669             :                     n->eventname = (yyvsp[-5].str);
   37670             :                     n->whenclause = NULL;
   37671             :                     n->funcname = (yyvsp[-2].list);
   37672             :                     (yyval.node) = (Node *) n;
   37673             :                 }
   37674             : #line 37675 "gram.c"
   37675          98 :     break;
   37676             : 
   37677         100 :   case 836: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'  */
   37678             : #line 6274 "gram.y"
   37679             :                                 {
   37680             :                     CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
   37681             : 
   37682             :                     n->trigname = (yyvsp[-9].str);
   37683             :                     n->eventname = (yyvsp[-7].str);
   37684             :                     n->whenclause = (yyvsp[-5].list);
   37685             :                     n->funcname = (yyvsp[-2].list);
   37686             :                     (yyval.node) = (Node *) n;
   37687             :                 }
   37688             : #line 37689 "gram.c"
   37689         100 :     break;
   37690             : 
   37691         100 :   case 837: /* event_trigger_when_list: event_trigger_when_item  */
   37692             : #line 6287 "gram.y"
   37693             :                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   37694             : #line 37695 "gram.c"
   37695         100 :     break;
   37696             : 
   37697           6 :   case 838: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item  */
   37698             : #line 6289 "gram.y"
   37699             :                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   37700             : #line 37701 "gram.c"
   37701           6 :     break;
   37702             : 
   37703         106 :   case 839: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')'  */
   37704             : #line 6294 "gram.y"
   37705             :                         { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
   37706             : #line 37707 "gram.c"
   37707         106 :     break;
   37708             : 
   37709         106 :   case 840: /* event_trigger_value_list: SCONST  */
   37710             : #line 6299 "gram.y"
   37711             :                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   37712             : #line 37713 "gram.c"
   37713         106 :     break;
   37714             : 
   37715          66 :   case 841: /* event_trigger_value_list: event_trigger_value_list ',' SCONST  */
   37716             : #line 6301 "gram.y"
   37717             :                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   37718             : #line 37719 "gram.c"
   37719          66 :     break;
   37720             : 
   37721          48 :   case 842: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger  */
   37722             : #line 6306 "gram.y"
   37723             :                                 {
   37724             :                     AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
   37725             : 
   37726             :                     n->trigname = (yyvsp[-1].str);
   37727             :                     n->tgenabled = (yyvsp[0].chr);
   37728             :                     (yyval.node) = (Node *) n;
   37729             :                 }
   37730             : #line 37731 "gram.c"
   37731          48 :     break;
   37732             : 
   37733           6 :   case 843: /* enable_trigger: ENABLE_P  */
   37734             : #line 6316 "gram.y"
   37735             :                                                                         { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
   37736             : #line 37737 "gram.c"
   37737           6 :     break;
   37738             : 
   37739           6 :   case 844: /* enable_trigger: ENABLE_P REPLICA  */
   37740             : #line 6317 "gram.y"
   37741             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
   37742             : #line 37743 "gram.c"
   37743           6 :     break;
   37744             : 
   37745          16 :   case 845: /* enable_trigger: ENABLE_P ALWAYS  */
   37746             : #line 6318 "gram.y"
   37747             :                                                                 { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
   37748             : #line 37749 "gram.c"
   37749          16 :     break;
   37750             : 
   37751          20 :   case 846: /* enable_trigger: DISABLE_P  */
   37752             : #line 6319 "gram.y"
   37753             :                                                                         { (yyval.chr) = TRIGGER_DISABLED; }
   37754             : #line 37755 "gram.c"
   37755          20 :     break;
   37756             : 
   37757           0 :   case 847: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec  */
   37758             : #line 6331 "gram.y"
   37759             :                                 {
   37760             :                     ereport(ERROR,
   37761             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   37762             :                              errmsg("CREATE ASSERTION is not yet implemented"),
   37763             :                              parser_errposition((yylsp[-7]))));
   37764             : 
   37765             :                     (yyval.node) = NULL;
   37766             :                 }
   37767             : #line 37768 "gram.c"
   37768             :     break;
   37769             : 
   37770         638 :   case 848: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition  */
   37771             : #line 6351 "gram.y"
   37772             :                                 {
   37773             :                     DefineStmt *n = makeNode(DefineStmt);
   37774             : 
   37775             :                     n->kind = OBJECT_AGGREGATE;
   37776             :                     n->oldstyle = false;
   37777             :                     n->replace = (yyvsp[-4].boolean);
   37778             :                     n->defnames = (yyvsp[-2].list);
   37779             :                     n->args = (yyvsp[-1].list);
   37780             :                     n->definition = (yyvsp[0].list);
   37781             :                     (yyval.node) = (Node *) n;
   37782             :                 }
   37783             : #line 37784 "gram.c"
   37784         638 :     break;
   37785             : 
   37786         362 :   case 849: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition  */
   37787             : #line 6363 "gram.y"
   37788             :                                 {
   37789             :                     /* old-style (pre-8.2) syntax for CREATE AGGREGATE */
   37790             :                     DefineStmt *n = makeNode(DefineStmt);
   37791             : 
   37792             :                     n->kind = OBJECT_AGGREGATE;
   37793             :                     n->oldstyle = true;
   37794             :                     n->replace = (yyvsp[-3].boolean);
   37795             :                     n->defnames = (yyvsp[-1].list);
   37796             :                     n->args = NIL;
   37797             :                     n->definition = (yyvsp[0].list);
   37798             :                     (yyval.node) = (Node *) n;
   37799             :                 }
   37800             : #line 37801 "gram.c"
   37801         362 :     break;
   37802             : 
   37803        1610 :   case 850: /* DefineStmt: CREATE OPERATOR any_operator definition  */
   37804             : #line 6376 "gram.y"
   37805             :                                 {
   37806             :                     DefineStmt *n = makeNode(DefineStmt);
   37807             : 
   37808             :                     n->kind = OBJECT_OPERATOR;
   37809             :                     n->oldstyle = false;
   37810             :                     n->defnames = (yyvsp[-1].list);
   37811             :                     n->args = NIL;
   37812             :                     n->definition = (yyvsp[0].list);
   37813             :                     (yyval.node) = (Node *) n;
   37814             :                 }
   37815             : #line 37816 "gram.c"
   37816        1610 :     break;
   37817             : 
   37818         230 :   case 851: /* DefineStmt: CREATE TYPE_P any_name definition  */
   37819             : #line 6387 "gram.y"
   37820             :                                 {
   37821             :                     DefineStmt *n = makeNode(DefineStmt);
   37822             : 
   37823             :                     n->kind = OBJECT_TYPE;
   37824             :                     n->oldstyle = false;
   37825             :                     n->defnames = (yyvsp[-1].list);
   37826             :                     n->args = NIL;
   37827             :                     n->definition = (yyvsp[0].list);
   37828             :                     (yyval.node) = (Node *) n;
   37829             :                 }
   37830             : #line 37831 "gram.c"
   37831         230 :     break;
   37832             : 
   37833         172 :   case 852: /* DefineStmt: CREATE TYPE_P any_name  */
   37834             : #line 6398 "gram.y"
   37835             :                                 {
   37836             :                     /* Shell type (identified by lack of definition) */
   37837             :                     DefineStmt *n = makeNode(DefineStmt);
   37838             : 
   37839             :                     n->kind = OBJECT_TYPE;
   37840             :                     n->oldstyle = false;
   37841             :                     n->defnames = (yyvsp[0].list);
   37842             :                     n->args = NIL;
   37843             :                     n->definition = NIL;
   37844             :                     (yyval.node) = (Node *) n;
   37845             :                 }
   37846             : #line 37847 "gram.c"
   37847         172 :     break;
   37848             : 
   37849        4534 :   case 853: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')'  */
   37850             : #line 6410 "gram.y"
   37851             :                                 {
   37852             :                     CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
   37853             : 
   37854             :                     /* can't use qualified_name, sigh */
   37855             :                     n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
   37856             :                     n->coldeflist = (yyvsp[-1].list);
   37857             :                     (yyval.node) = (Node *) n;
   37858             :                 }
   37859             : #line 37860 "gram.c"
   37860        4534 :     break;
   37861             : 
   37862         208 :   case 854: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')'  */
   37863             : #line 6419 "gram.y"
   37864             :                                 {
   37865             :                     CreateEnumStmt *n = makeNode(CreateEnumStmt);
   37866             : 
   37867             :                     n->typeName = (yyvsp[-5].list);
   37868             :                     n->vals = (yyvsp[-1].list);
   37869             :                     (yyval.node) = (Node *) n;
   37870             :                 }
   37871             : #line 37872 "gram.c"
   37872         208 :     break;
   37873             : 
   37874         196 :   case 855: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition  */
   37875             : #line 6427 "gram.y"
   37876             :                                 {
   37877             :                     CreateRangeStmt *n = makeNode(CreateRangeStmt);
   37878             : 
   37879             :                     n->typeName = (yyvsp[-3].list);
   37880             :                     n->params = (yyvsp[0].list);
   37881             :                     (yyval.node) = (Node *) n;
   37882             :                 }
   37883             : #line 37884 "gram.c"
   37884         196 :     break;
   37885             : 
   37886          40 :   case 856: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition  */
   37887             : #line 6435 "gram.y"
   37888             :                                 {
   37889             :                     DefineStmt *n = makeNode(DefineStmt);
   37890             : 
   37891             :                     n->kind = OBJECT_TSPARSER;
   37892             :                     n->args = NIL;
   37893             :                     n->defnames = (yyvsp[-1].list);
   37894             :                     n->definition = (yyvsp[0].list);
   37895             :                     (yyval.node) = (Node *) n;
   37896             :                 }
   37897             : #line 37898 "gram.c"
   37898          40 :     break;
   37899             : 
   37900        2890 :   case 857: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition  */
   37901             : #line 6445 "gram.y"
   37902             :                                 {
   37903             :                     DefineStmt *n = makeNode(DefineStmt);
   37904             : 
   37905             :                     n->kind = OBJECT_TSDICTIONARY;
   37906             :                     n->args = NIL;
   37907             :                     n->defnames = (yyvsp[-1].list);
   37908             :                     n->definition = (yyvsp[0].list);
   37909             :                     (yyval.node) = (Node *) n;
   37910             :                 }
   37911             : #line 37912 "gram.c"
   37912        2890 :     break;
   37913             : 
   37914         138 :   case 858: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition  */
   37915             : #line 6455 "gram.y"
   37916             :                                 {
   37917             :                     DefineStmt *n = makeNode(DefineStmt);
   37918             : 
   37919             :                     n->kind = OBJECT_TSTEMPLATE;
   37920             :                     n->args = NIL;
   37921             :                     n->defnames = (yyvsp[-1].list);
   37922             :                     n->definition = (yyvsp[0].list);
   37923             :                     (yyval.node) = (Node *) n;
   37924             :                 }
   37925             : #line 37926 "gram.c"
   37926         138 :     break;
   37927             : 
   37928        2822 :   case 859: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition  */
   37929             : #line 6465 "gram.y"
   37930             :                                 {
   37931             :                     DefineStmt *n = makeNode(DefineStmt);
   37932             : 
   37933             :                     n->kind = OBJECT_TSCONFIGURATION;
   37934             :                     n->args = NIL;
   37935             :                     n->defnames = (yyvsp[-1].list);
   37936             :                     n->definition = (yyvsp[0].list);
   37937             :                     (yyval.node) = (Node *) n;
   37938             :                 }
   37939             : #line 37940 "gram.c"
   37940        2822 :     break;
   37941             : 
   37942         298 :   case 860: /* DefineStmt: CREATE COLLATION any_name definition  */
   37943             : #line 6475 "gram.y"
   37944             :                                 {
   37945             :                     DefineStmt *n = makeNode(DefineStmt);
   37946             : 
   37947             :                     n->kind = OBJECT_COLLATION;
   37948             :                     n->args = NIL;
   37949             :                     n->defnames = (yyvsp[-1].list);
   37950             :                     n->definition = (yyvsp[0].list);
   37951             :                     (yyval.node) = (Node *) n;
   37952             :                 }
   37953             : #line 37954 "gram.c"
   37954         298 :     break;
   37955             : 
   37956          18 :   case 861: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition  */
   37957             : #line 6485 "gram.y"
   37958             :                                 {
   37959             :                     DefineStmt *n = makeNode(DefineStmt);
   37960             : 
   37961             :                     n->kind = OBJECT_COLLATION;
   37962             :                     n->args = NIL;
   37963             :                     n->defnames = (yyvsp[-1].list);
   37964             :                     n->definition = (yyvsp[0].list);
   37965             :                     n->if_not_exists = true;
   37966             :                     (yyval.node) = (Node *) n;
   37967             :                 }
   37968             : #line 37969 "gram.c"
   37969          18 :     break;
   37970             : 
   37971          54 :   case 862: /* DefineStmt: CREATE COLLATION any_name FROM any_name  */
   37972             : #line 6496 "gram.y"
   37973             :                                 {
   37974             :                     DefineStmt *n = makeNode(DefineStmt);
   37975             : 
   37976             :                     n->kind = OBJECT_COLLATION;
   37977             :                     n->args = NIL;
   37978             :                     n->defnames = (yyvsp[-2].list);
   37979             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   37980             :                     (yyval.node) = (Node *) n;
   37981             :                 }
   37982             : #line 37983 "gram.c"
   37983          54 :     break;
   37984             : 
   37985           0 :   case 863: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name  */
   37986             : #line 6506 "gram.y"
   37987             :                                 {
   37988             :                     DefineStmt *n = makeNode(DefineStmt);
   37989             : 
   37990             :                     n->kind = OBJECT_COLLATION;
   37991             :                     n->args = NIL;
   37992             :                     n->defnames = (yyvsp[-2].list);
   37993             :                     n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
   37994             :                     n->if_not_exists = true;
   37995             :                     (yyval.node) = (Node *) n;
   37996             :                 }
   37997             : #line 37998 "gram.c"
   37998           0 :     break;
   37999             : 
   38000        9852 :   case 864: /* definition: '(' def_list ')'  */
   38001             : #line 6518 "gram.y"
   38002             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   38003             : #line 38004 "gram.c"
   38004        9852 :     break;
   38005             : 
   38006        9852 :   case 865: /* def_list: def_elem  */
   38007             : #line 6521 "gram.y"
   38008             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38009             : #line 38010 "gram.c"
   38010        9852 :     break;
   38011             : 
   38012       14934 :   case 866: /* def_list: def_list ',' def_elem  */
   38013             : #line 6522 "gram.y"
   38014             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38015             : #line 38016 "gram.c"
   38016       14934 :     break;
   38017             : 
   38018       24428 :   case 867: /* def_elem: ColLabel '=' def_arg  */
   38019             : #line 6526 "gram.y"
   38020             :                                 {
   38021             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38022             :                 }
   38023             : #line 38024 "gram.c"
   38024       24428 :     break;
   38025             : 
   38026         358 :   case 868: /* def_elem: ColLabel  */
   38027             : #line 6530 "gram.y"
   38028             :                                 {
   38029             :                     (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
   38030             :                 }
   38031             : #line 38032 "gram.c"
   38032         358 :     break;
   38033             : 
   38034       19826 :   case 869: /* def_arg: func_type  */
   38035             : #line 6536 "gram.y"
   38036             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   38037             : #line 38038 "gram.c"
   38038       19826 :     break;
   38039             : 
   38040        3988 :   case 870: /* def_arg: reserved_keyword  */
   38041             : #line 6537 "gram.y"
   38042             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38043             : #line 38044 "gram.c"
   38044        3988 :     break;
   38045             : 
   38046        1186 :   case 871: /* def_arg: qual_all_Op  */
   38047             : #line 6538 "gram.y"
   38048             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   38049             : #line 38050 "gram.c"
   38050        1186 :     break;
   38051             : 
   38052        1304 :   case 872: /* def_arg: NumericOnly  */
   38053             : #line 6539 "gram.y"
   38054             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   38055             : #line 38056 "gram.c"
   38056        1304 :     break;
   38057             : 
   38058        2048 :   case 873: /* def_arg: Sconst  */
   38059             : #line 6540 "gram.y"
   38060             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   38061             : #line 38062 "gram.c"
   38062        2048 :     break;
   38063             : 
   38064         164 :   case 874: /* def_arg: NONE  */
   38065             : #line 6541 "gram.y"
   38066             :                                                                                 { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   38067             : #line 38068 "gram.c"
   38068         164 :     break;
   38069             : 
   38070         362 :   case 875: /* old_aggr_definition: '(' old_aggr_list ')'  */
   38071             : #line 6544 "gram.y"
   38072             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   38073             : #line 38074 "gram.c"
   38074         362 :     break;
   38075             : 
   38076         362 :   case 876: /* old_aggr_list: old_aggr_elem  */
   38077             : #line 6547 "gram.y"
   38078             :                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   38079             : #line 38080 "gram.c"
   38080         362 :     break;
   38081             : 
   38082        1292 :   case 877: /* old_aggr_list: old_aggr_list ',' old_aggr_elem  */
   38083             : #line 6548 "gram.y"
   38084             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   38085             : #line 38086 "gram.c"
   38086        1292 :     break;
   38087             : 
   38088        1654 :   case 878: /* old_aggr_elem: IDENT '=' def_arg  */
   38089             : #line 6557 "gram.y"
   38090             :                                 {
   38091             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
   38092             :                 }
   38093             : #line 38094 "gram.c"
   38094        1654 :     break;
   38095             : 
   38096         200 :   case 879: /* opt_enum_val_list: enum_val_list  */
   38097             : #line 6563 "gram.y"
   38098             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   38099             : #line 38100 "gram.c"
   38100         200 :     break;
   38101             : 
   38102           8 :   case 880: /* opt_enum_val_list: %empty  */
   38103             : #line 6564 "gram.y"
   38104             :                                                                                         { (yyval.list) = NIL; }
   38105             : #line 38106 "gram.c"
   38106           8 :     break;
   38107             : 
   38108         200 :   case 881: /* enum_val_list: Sconst  */
   38109             : #line 6568 "gram.y"
   38110             :                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38111             : #line 38112 "gram.c"
   38112         200 :     break;
   38113             : 
   38114       10496 :   case 882: /* enum_val_list: enum_val_list ',' Sconst  */
   38115             : #line 6570 "gram.y"
   38116             :                                 { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38117             : #line 38118 "gram.c"
   38118       10496 :     break;
   38119             : 
   38120         154 :   case 883: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst  */
   38121             : #line 6581 "gram.y"
   38122             :                         {
   38123             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38124             : 
   38125             :                 n->typeName = (yyvsp[-4].list);
   38126             :                 n->oldVal = NULL;
   38127             :                 n->newVal = (yyvsp[0].str);
   38128             :                 n->newValNeighbor = NULL;
   38129             :                 n->newValIsAfter = true;
   38130             :                 n->skipIfNewValExists = (yyvsp[-1].boolean);
   38131             :                 (yyval.node) = (Node *) n;
   38132             :             }
   38133             : #line 38134 "gram.c"
   38134         154 :     break;
   38135             : 
   38136         196 :   case 884: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst  */
   38137             : #line 6593 "gram.y"
   38138             :                         {
   38139             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38140             : 
   38141             :                 n->typeName = (yyvsp[-6].list);
   38142             :                 n->oldVal = NULL;
   38143             :                 n->newVal = (yyvsp[-2].str);
   38144             :                 n->newValNeighbor = (yyvsp[0].str);
   38145             :                 n->newValIsAfter = false;
   38146             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38147             :                 (yyval.node) = (Node *) n;
   38148             :             }
   38149             : #line 38150 "gram.c"
   38150         196 :     break;
   38151             : 
   38152          22 :   case 885: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst  */
   38153             : #line 6605 "gram.y"
   38154             :                         {
   38155             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38156             : 
   38157             :                 n->typeName = (yyvsp[-6].list);
   38158             :                 n->oldVal = NULL;
   38159             :                 n->newVal = (yyvsp[-2].str);
   38160             :                 n->newValNeighbor = (yyvsp[0].str);
   38161             :                 n->newValIsAfter = true;
   38162             :                 n->skipIfNewValExists = (yyvsp[-3].boolean);
   38163             :                 (yyval.node) = (Node *) n;
   38164             :             }
   38165             : #line 38166 "gram.c"
   38166          22 :     break;
   38167             : 
   38168          24 :   case 886: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P Sconst TO Sconst  */
   38169             : #line 6617 "gram.y"
   38170             :                         {
   38171             :                 AlterEnumStmt *n = makeNode(AlterEnumStmt);
   38172             : 
   38173             :                 n->typeName = (yyvsp[-5].list);
   38174             :                 n->oldVal = (yyvsp[-2].str);
   38175             :                 n->newVal = (yyvsp[0].str);
   38176             :                 n->newValNeighbor = NULL;
   38177             :                 n->newValIsAfter = false;
   38178             :                 n->skipIfNewValExists = false;
   38179             :                 (yyval.node) = (Node *) n;
   38180             :             }
   38181             : #line 38182 "gram.c"
   38182          24 :     break;
   38183             : 
   38184           0 :   case 887: /* AlterEnumStmt: ALTER TYPE_P any_name DROP VALUE_P Sconst  */
   38185             : #line 6629 "gram.y"
   38186             :                         {
   38187             :                 /*
   38188             :                  * The following problems must be solved before this can be
   38189             :                  * implemented:
   38190             :                  *
   38191             :                  * - There must be no instance of the target value in
   38192             :                  *   any table.
   38193             :                  *
   38194             :                  * - The value must not appear in any catalog metadata,
   38195             :                  *   such as stored view expressions or column defaults.
   38196             :                  *
   38197             :                  * - The value must not appear in any non-leaf page of a
   38198             :                  *   btree (and similar issues with other index types).
   38199             :                  *   This is problematic because a value could persist
   38200             :                  *   there long after it's gone from user-visible data.
   38201             :                  *
   38202             :                  * - Concurrent sessions must not be able to insert the
   38203             :                  *   value while the preceding conditions are being checked.
   38204             :                  *
   38205             :                  * - Possibly more...
   38206             :                  */
   38207             :                 ereport(ERROR,
   38208             :                         (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   38209             :                          errmsg("dropping an enum value is not implemented"),
   38210             :                          parser_errposition((yylsp[-2]))));
   38211             :             }
   38212             : #line 38213 "gram.c"
   38213             :     break;
   38214             : 
   38215          12 :   case 888: /* opt_if_not_exists: IF_P NOT EXISTS  */
   38216             : #line 6657 "gram.y"
   38217             :                                                 { (yyval.boolean) = true; }
   38218             : #line 38219 "gram.c"
   38219          12 :     break;
   38220             : 
   38221         360 :   case 889: /* opt_if_not_exists: %empty  */
   38222             : #line 6658 "gram.y"
   38223             :                                                        { (yyval.boolean) = false; }
   38224             : #line 38225 "gram.c"
   38225         360 :     break;
   38226             : 
   38227         394 :   case 890: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list  */
   38228             : #line 6676 "gram.y"
   38229             :                                 {
   38230             :                     CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
   38231             : 
   38232             :                     n->opclassname = (yyvsp[-9].list);
   38233             :                     n->isDefault = (yyvsp[-8].boolean);
   38234             :                     n->datatype = (yyvsp[-5].typnam);
   38235             :                     n->amname = (yyvsp[-3].str);
   38236             :                     n->opfamilyname = (yyvsp[-2].list);
   38237             :                     n->items = (yyvsp[0].list);
   38238             :                     (yyval.node) = (Node *) n;
   38239             :                 }
   38240             : #line 38241 "gram.c"
   38241         394 :     break;
   38242             : 
   38243         908 :   case 891: /* opclass_item_list: opclass_item  */
   38244             : #line 6690 "gram.y"
   38245             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38246             : #line 38247 "gram.c"
   38247         908 :     break;
   38248             : 
   38249        3088 :   case 892: /* opclass_item_list: opclass_item_list ',' opclass_item  */
   38250             : #line 6691 "gram.y"
   38251             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38252             : #line 38253 "gram.c"
   38253        3088 :     break;
   38254             : 
   38255        1092 :   case 893: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose  */
   38256             : #line 6696 "gram.y"
   38257             :                                 {
   38258             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38259             :                     ObjectWithArgs *owa = makeNode(ObjectWithArgs);
   38260             : 
   38261             :                     owa->objname = (yyvsp[-1].list);
   38262             :                     owa->objargs = NIL;
   38263             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38264             :                     n->name = owa;
   38265             :                     n->number = (yyvsp[-2].ival);
   38266             :                     n->order_family = (yyvsp[0].list);
   38267             :                     (yyval.node) = (Node *) n;
   38268             :                 }
   38269             : #line 38270 "gram.c"
   38270        1092 :     break;
   38271             : 
   38272        1066 :   case 894: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose  */
   38273             : #line 6709 "gram.y"
   38274             :                                 {
   38275             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38276             : 
   38277             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38278             :                     n->name = (yyvsp[-1].objwithargs);
   38279             :                     n->number = (yyvsp[-2].ival);
   38280             :                     n->order_family = (yyvsp[0].list);
   38281             :                     (yyval.node) = (Node *) n;
   38282             :                 }
   38283             : #line 38284 "gram.c"
   38284        1066 :     break;
   38285             : 
   38286        1386 :   case 895: /* opclass_item: FUNCTION Iconst function_with_argtypes  */
   38287             : #line 6719 "gram.y"
   38288             :                                 {
   38289             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38290             : 
   38291             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38292             :                     n->name = (yyvsp[0].objwithargs);
   38293             :                     n->number = (yyvsp[-1].ival);
   38294             :                     (yyval.node) = (Node *) n;
   38295             :                 }
   38296             : #line 38297 "gram.c"
   38297        1386 :     break;
   38298             : 
   38299         252 :   case 896: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes  */
   38300             : #line 6728 "gram.y"
   38301             :                                 {
   38302             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38303             : 
   38304             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38305             :                     n->name = (yyvsp[0].objwithargs);
   38306             :                     n->number = (yyvsp[-4].ival);
   38307             :                     n->class_args = (yyvsp[-2].list);
   38308             :                     (yyval.node) = (Node *) n;
   38309             :                 }
   38310             : #line 38311 "gram.c"
   38311         252 :     break;
   38312             : 
   38313         200 :   case 897: /* opclass_item: STORAGE Typename  */
   38314             : #line 6738 "gram.y"
   38315             :                                 {
   38316             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38317             : 
   38318             :                     n->itemtype = OPCLASS_ITEM_STORAGETYPE;
   38319             :                     n->storedtype = (yyvsp[0].typnam);
   38320             :                     (yyval.node) = (Node *) n;
   38321             :                 }
   38322             : #line 38323 "gram.c"
   38323         200 :     break;
   38324             : 
   38325         290 :   case 898: /* opt_default: DEFAULT  */
   38326             : #line 6747 "gram.y"
   38327             :                                                                 { (yyval.boolean) = true; }
   38328             : #line 38329 "gram.c"
   38329         290 :     break;
   38330             : 
   38331         168 :   case 899: /* opt_default: %empty  */
   38332             : #line 6748 "gram.y"
   38333             :                                                                                 { (yyval.boolean) = false; }
   38334             : #line 38335 "gram.c"
   38335         168 :     break;
   38336             : 
   38337          50 :   case 900: /* opt_opfamily: FAMILY any_name  */
   38338             : #line 6751 "gram.y"
   38339             :                                                         { (yyval.list) = (yyvsp[0].list); }
   38340             : #line 38341 "gram.c"
   38341          50 :     break;
   38342             : 
   38343         344 :   case 901: /* opt_opfamily: %empty  */
   38344             : #line 6752 "gram.y"
   38345             :                                                                                 { (yyval.list) = NIL; }
   38346             : #line 38347 "gram.c"
   38347         344 :     break;
   38348             : 
   38349           0 :   case 902: /* opclass_purpose: FOR SEARCH  */
   38350             : #line 6755 "gram.y"
   38351             :                                                                 { (yyval.list) = NIL; }
   38352             : #line 38353 "gram.c"
   38353           0 :     break;
   38354             : 
   38355          72 :   case 903: /* opclass_purpose: FOR ORDER BY any_name  */
   38356             : #line 6756 "gram.y"
   38357             :                                                                 { (yyval.list) = (yyvsp[0].list); }
   38358             : #line 38359 "gram.c"
   38359          72 :     break;
   38360             : 
   38361        2086 :   case 904: /* opclass_purpose: %empty  */
   38362             : #line 6757 "gram.y"
   38363             :                                                                                 { (yyval.list) = NIL; }
   38364             : #line 38365 "gram.c"
   38365        2086 :     break;
   38366             : 
   38367         162 :   case 905: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name  */
   38368             : #line 6763 "gram.y"
   38369             :                                 {
   38370             :                     CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
   38371             : 
   38372             :                     n->opfamilyname = (yyvsp[-2].list);
   38373             :                     n->amname = (yyvsp[0].str);
   38374             :                     (yyval.node) = (Node *) n;
   38375             :                 }
   38376             : #line 38377 "gram.c"
   38377         162 :     break;
   38378             : 
   38379         514 :   case 906: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list  */
   38380             : #line 6774 "gram.y"
   38381             :                                 {
   38382             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38383             : 
   38384             :                     n->opfamilyname = (yyvsp[-4].list);
   38385             :                     n->amname = (yyvsp[-2].str);
   38386             :                     n->isDrop = false;
   38387             :                     n->items = (yyvsp[0].list);
   38388             :                     (yyval.node) = (Node *) n;
   38389             :                 }
   38390             : #line 38391 "gram.c"
   38391         514 :     break;
   38392             : 
   38393          64 :   case 907: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list  */
   38394             : #line 6784 "gram.y"
   38395             :                                 {
   38396             :                     AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
   38397             : 
   38398             :                     n->opfamilyname = (yyvsp[-4].list);
   38399             :                     n->amname = (yyvsp[-2].str);
   38400             :                     n->isDrop = true;
   38401             :                     n->items = (yyvsp[0].list);
   38402             :                     (yyval.node) = (Node *) n;
   38403             :                 }
   38404             : #line 38405 "gram.c"
   38405          64 :     break;
   38406             : 
   38407          64 :   case 908: /* opclass_drop_list: opclass_drop  */
   38408             : #line 6796 "gram.y"
   38409             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   38410             : #line 38411 "gram.c"
   38411          64 :     break;
   38412             : 
   38413          30 :   case 909: /* opclass_drop_list: opclass_drop_list ',' opclass_drop  */
   38414             : #line 6797 "gram.y"
   38415             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   38416             : #line 38417 "gram.c"
   38417          30 :     break;
   38418             : 
   38419          56 :   case 910: /* opclass_drop: OPERATOR Iconst '(' type_list ')'  */
   38420             : #line 6802 "gram.y"
   38421             :                                 {
   38422             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38423             : 
   38424             :                     n->itemtype = OPCLASS_ITEM_OPERATOR;
   38425             :                     n->number = (yyvsp[-3].ival);
   38426             :                     n->class_args = (yyvsp[-1].list);
   38427             :                     (yyval.node) = (Node *) n;
   38428             :                 }
   38429             : #line 38430 "gram.c"
   38430          56 :     break;
   38431             : 
   38432          38 :   case 911: /* opclass_drop: FUNCTION Iconst '(' type_list ')'  */
   38433             : #line 6811 "gram.y"
   38434             :                                 {
   38435             :                     CreateOpClassItem *n = makeNode(CreateOpClassItem);
   38436             : 
   38437             :                     n->itemtype = OPCLASS_ITEM_FUNCTION;
   38438             :                     n->number = (yyvsp[-3].ival);
   38439             :                     n->class_args = (yyvsp[-1].list);
   38440             :                     (yyval.node) = (Node *) n;
   38441             :                 }
   38442             : #line 38443 "gram.c"
   38443          38 :     break;
   38444             : 
   38445          38 :   case 912: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior  */
   38446             : #line 6824 "gram.y"
   38447             :                                 {
   38448             :                     DropStmt *n = makeNode(DropStmt);
   38449             : 
   38450             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38451             :                     n->removeType = OBJECT_OPCLASS;
   38452             :                     n->behavior = (yyvsp[0].dbehavior);
   38453             :                     n->missing_ok = false;
   38454             :                     n->concurrent = false;
   38455             :                     (yyval.node) = (Node *) n;
   38456             :                 }
   38457             : #line 38458 "gram.c"
   38458          38 :     break;
   38459             : 
   38460          18 :   case 913: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior  */
   38461             : #line 6835 "gram.y"
   38462             :                                 {
   38463             :                     DropStmt *n = makeNode(DropStmt);
   38464             : 
   38465             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38466             :                     n->removeType = OBJECT_OPCLASS;
   38467             :                     n->behavior = (yyvsp[0].dbehavior);
   38468             :                     n->missing_ok = true;
   38469             :                     n->concurrent = false;
   38470             :                     (yyval.node) = (Node *) n;
   38471             :                 }
   38472             : #line 38473 "gram.c"
   38473          18 :     break;
   38474             : 
   38475         110 :   case 914: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior  */
   38476             : #line 6849 "gram.y"
   38477             :                                 {
   38478             :                     DropStmt *n = makeNode(DropStmt);
   38479             : 
   38480             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38481             :                     n->removeType = OBJECT_OPFAMILY;
   38482             :                     n->behavior = (yyvsp[0].dbehavior);
   38483             :                     n->missing_ok = false;
   38484             :                     n->concurrent = false;
   38485             :                     (yyval.node) = (Node *) n;
   38486             :                 }
   38487             : #line 38488 "gram.c"
   38488         110 :     break;
   38489             : 
   38490          18 :   case 915: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior  */
   38491             : #line 6860 "gram.y"
   38492             :                                 {
   38493             :                     DropStmt *n = makeNode(DropStmt);
   38494             : 
   38495             :                     n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
   38496             :                     n->removeType = OBJECT_OPFAMILY;
   38497             :                     n->behavior = (yyvsp[0].dbehavior);
   38498             :                     n->missing_ok = true;
   38499             :                     n->concurrent = false;
   38500             :                     (yyval.node) = (Node *) n;
   38501             :                 }
   38502             : #line 38503 "gram.c"
   38503          18 :     break;
   38504             : 
   38505         152 :   case 916: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior  */
   38506             : #line 6883 "gram.y"
   38507             :                                 {
   38508             :                     DropOwnedStmt *n = makeNode(DropOwnedStmt);
   38509             : 
   38510             :                     n->roles = (yyvsp[-1].list);
   38511             :                     n->behavior = (yyvsp[0].dbehavior);
   38512             :                     (yyval.node) = (Node *) n;
   38513             :                 }
   38514             : #line 38515 "gram.c"
   38515         152 :     break;
   38516             : 
   38517          52 :   case 917: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec  */
   38518             : #line 6894 "gram.y"
   38519             :                                 {
   38520             :                     ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
   38521             : 
   38522             :                     n->roles = (yyvsp[-2].list);
   38523             :                     n->newrole = (yyvsp[0].rolespec);
   38524             :                     (yyval.node) = (Node *) n;
   38525             :                 }
   38526             : #line 38527 "gram.c"
   38527          52 :     break;
   38528             : 
   38529        1322 :   case 918: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior  */
   38530             : #line 6913 "gram.y"
   38531             :                                 {
   38532             :                     DropStmt *n = makeNode(DropStmt);
   38533             : 
   38534             :                     n->removeType = (yyvsp[-4].objtype);
   38535             :                     n->missing_ok = true;
   38536             :                     n->objects = (yyvsp[-1].list);
   38537             :                     n->behavior = (yyvsp[0].dbehavior);
   38538             :                     n->concurrent = false;
   38539             :                     (yyval.node) = (Node *) n;
   38540             :                 }
   38541             : #line 38542 "gram.c"
   38542        1322 :     break;
   38543             : 
   38544       15960 :   case 919: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior  */
   38545             : #line 6924 "gram.y"
   38546             :                                 {
   38547             :                     DropStmt *n = makeNode(DropStmt);
   38548             : 
   38549             :                     n->removeType = (yyvsp[-2].objtype);
   38550             :                     n->missing_ok = false;
   38551             :                     n->objects = (yyvsp[-1].list);
   38552             :                     n->behavior = (yyvsp[0].dbehavior);
   38553             :                     n->concurrent = false;
   38554             :                     (yyval.node) = (Node *) n;
   38555             :                 }
   38556             : #line 38557 "gram.c"
   38557       15960 :     break;
   38558             : 
   38559          78 :   case 920: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior  */
   38560             : #line 6935 "gram.y"
   38561             :                                 {
   38562             :                     DropStmt *n = makeNode(DropStmt);
   38563             : 
   38564             :                     n->removeType = (yyvsp[-4].objtype);
   38565             :                     n->missing_ok = true;
   38566             :                     n->objects = (yyvsp[-1].list);
   38567             :                     n->behavior = (yyvsp[0].dbehavior);
   38568             :                     n->concurrent = false;
   38569             :                     (yyval.node) = (Node *) n;
   38570             :                 }
   38571             : #line 38572 "gram.c"
   38572          78 :     break;
   38573             : 
   38574        1410 :   case 921: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior  */
   38575             : #line 6946 "gram.y"
   38576             :                                 {
   38577             :                     DropStmt *n = makeNode(DropStmt);
   38578             : 
   38579             :                     n->removeType = (yyvsp[-2].objtype);
   38580             :                     n->missing_ok = false;
   38581             :                     n->objects = (yyvsp[-1].list);
   38582             :                     n->behavior = (yyvsp[0].dbehavior);
   38583             :                     n->concurrent = false;
   38584             :                     (yyval.node) = (Node *) n;
   38585             :                 }
   38586             : #line 38587 "gram.c"
   38587        1410 :     break;
   38588             : 
   38589        1130 :   case 922: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior  */
   38590             : #line 6957 "gram.y"
   38591             :                                 {
   38592             :                     DropStmt *n = makeNode(DropStmt);
   38593             : 
   38594             :                     n->removeType = (yyvsp[-4].objtype);
   38595             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38596             :                     n->behavior = (yyvsp[0].dbehavior);
   38597             :                     n->missing_ok = false;
   38598             :                     n->concurrent = false;
   38599             :                     (yyval.node) = (Node *) n;
   38600             :                 }
   38601             : #line 38602 "gram.c"
   38602        1130 :     break;
   38603             : 
   38604          48 :   case 923: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior  */
   38605             : #line 6968 "gram.y"
   38606             :                                 {
   38607             :                     DropStmt *n = makeNode(DropStmt);
   38608             : 
   38609             :                     n->removeType = (yyvsp[-6].objtype);
   38610             :                     n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
   38611             :                     n->behavior = (yyvsp[0].dbehavior);
   38612             :                     n->missing_ok = true;
   38613             :                     n->concurrent = false;
   38614             :                     (yyval.node) = (Node *) n;
   38615             :                 }
   38616             : #line 38617 "gram.c"
   38617          48 :     break;
   38618             : 
   38619         560 :   case 924: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior  */
   38620             : #line 6979 "gram.y"
   38621             :                                 {
   38622             :                     DropStmt *n = makeNode(DropStmt);
   38623             : 
   38624             :                     n->removeType = OBJECT_TYPE;
   38625             :                     n->missing_ok = false;
   38626             :                     n->objects = (yyvsp[-1].list);
   38627             :                     n->behavior = (yyvsp[0].dbehavior);
   38628             :                     n->concurrent = false;
   38629             :                     (yyval.node) = (Node *) n;
   38630             :                 }
   38631             : #line 38632 "gram.c"
   38632         560 :     break;
   38633             : 
   38634          26 :   case 925: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior  */
   38635             : #line 6990 "gram.y"
   38636             :                                 {
   38637             :                     DropStmt *n = makeNode(DropStmt);
   38638             : 
   38639             :                     n->removeType = OBJECT_TYPE;
   38640             :                     n->missing_ok = true;
   38641             :                     n->objects = (yyvsp[-1].list);
   38642             :                     n->behavior = (yyvsp[0].dbehavior);
   38643             :                     n->concurrent = false;
   38644             :                     (yyval.node) = (Node *) n;
   38645             :                 }
   38646             : #line 38647 "gram.c"
   38647          26 :     break;
   38648             : 
   38649         464 :   case 926: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior  */
   38650             : #line 7001 "gram.y"
   38651             :                                 {
   38652             :                     DropStmt *n = makeNode(DropStmt);
   38653             : 
   38654             :                     n->removeType = OBJECT_DOMAIN;
   38655             :                     n->missing_ok = false;
   38656             :                     n->objects = (yyvsp[-1].list);
   38657             :                     n->behavior = (yyvsp[0].dbehavior);
   38658             :                     n->concurrent = false;
   38659             :                     (yyval.node) = (Node *) n;
   38660             :                 }
   38661             : #line 38662 "gram.c"
   38662         464 :     break;
   38663             : 
   38664          18 :   case 927: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior  */
   38665             : #line 7012 "gram.y"
   38666             :                                 {
   38667             :                     DropStmt *n = makeNode(DropStmt);
   38668             : 
   38669             :                     n->removeType = OBJECT_DOMAIN;
   38670             :                     n->missing_ok = true;
   38671             :                     n->objects = (yyvsp[-1].list);
   38672             :                     n->behavior = (yyvsp[0].dbehavior);
   38673             :                     n->concurrent = false;
   38674             :                     (yyval.node) = (Node *) n;
   38675             :                 }
   38676             : #line 38677 "gram.c"
   38677          18 :     break;
   38678             : 
   38679         142 :   case 928: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior  */
   38680             : #line 7023 "gram.y"
   38681             :                                 {
   38682             :                     DropStmt *n = makeNode(DropStmt);
   38683             : 
   38684             :                     n->removeType = OBJECT_INDEX;
   38685             :                     n->missing_ok = false;
   38686             :                     n->objects = (yyvsp[-1].list);
   38687             :                     n->behavior = (yyvsp[0].dbehavior);
   38688             :                     n->concurrent = true;
   38689             :                     (yyval.node) = (Node *) n;
   38690             :                 }
   38691             : #line 38692 "gram.c"
   38692         142 :     break;
   38693             : 
   38694          12 :   case 929: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior  */
   38695             : #line 7034 "gram.y"
   38696             :                                 {
   38697             :                     DropStmt *n = makeNode(DropStmt);
   38698             : 
   38699             :                     n->removeType = OBJECT_INDEX;
   38700             :                     n->missing_ok = true;
   38701             :                     n->objects = (yyvsp[-1].list);
   38702             :                     n->behavior = (yyvsp[0].dbehavior);
   38703             :                     n->concurrent = true;
   38704             :                     (yyval.node) = (Node *) n;
   38705             :                 }
   38706             : #line 38707 "gram.c"
   38707          12 :     break;
   38708             : 
   38709       14908 :   case 930: /* object_type_any_name: TABLE  */
   38710             : #line 7048 "gram.y"
   38711             :                                                                                                 { (yyval.objtype) = OBJECT_TABLE; }
   38712             : #line 38713 "gram.c"
   38713       14908 :     break;
   38714             : 
   38715         192 :   case 931: /* object_type_any_name: SEQUENCE  */
   38716             : #line 7049 "gram.y"
   38717             :                                                                                                 { (yyval.objtype) = OBJECT_SEQUENCE; }
   38718             : #line 38719 "gram.c"
   38719         192 :     break;
   38720             : 
   38721        1012 :   case 932: /* object_type_any_name: VIEW  */
   38722             : #line 7050 "gram.y"
   38723             :                                                                                                 { (yyval.objtype) = OBJECT_VIEW; }
   38724             : #line 38725 "gram.c"
   38725        1012 :     break;
   38726             : 
   38727         130 :   case 933: /* object_type_any_name: MATERIALIZED VIEW  */
   38728             : #line 7051 "gram.y"
   38729             :                                                                                         { (yyval.objtype) = OBJECT_MATVIEW; }
   38730             : #line 38731 "gram.c"
   38731         130 :     break;
   38732             : 
   38733         784 :   case 934: /* object_type_any_name: INDEX  */
   38734             : #line 7052 "gram.y"
   38735             :                                                                                                 { (yyval.objtype) = OBJECT_INDEX; }
   38736             : #line 38737 "gram.c"
   38737         784 :     break;
   38738             : 
   38739         190 :   case 935: /* object_type_any_name: FOREIGN TABLE  */
   38740             : #line 7053 "gram.y"
   38741             :                                                                                         { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
   38742             : #line 38743 "gram.c"
   38743         190 :     break;
   38744             : 
   38745          96 :   case 936: /* object_type_any_name: COLLATION  */
   38746             : #line 7054 "gram.y"
   38747             :                                                                                                 { (yyval.objtype) = OBJECT_COLLATION; }
   38748             : #line 38749 "gram.c"
   38749          96 :     break;
   38750             : 
   38751          56 :   case 937: /* object_type_any_name: CONVERSION_P  */
   38752             : #line 7055 "gram.y"
   38753             :                                                                                         { (yyval.objtype) = OBJECT_CONVERSION; }
   38754             : #line 38755 "gram.c"
   38755          56 :     break;
   38756             : 
   38757         192 :   case 938: /* object_type_any_name: STATISTICS  */
   38758             : #line 7056 "gram.y"
   38759             :                                                                                         { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
   38760             : #line 38761 "gram.c"
   38761         192 :     break;
   38762             : 
   38763          20 :   case 939: /* object_type_any_name: TEXT_P SEARCH PARSER  */
   38764             : #line 7057 "gram.y"
   38765             :                                                                                 { (yyval.objtype) = OBJECT_TSPARSER; }
   38766             : #line 38767 "gram.c"
   38767          20 :     break;
   38768             : 
   38769        2756 :   case 940: /* object_type_any_name: TEXT_P SEARCH DICTIONARY  */
   38770             : #line 7058 "gram.y"
   38771             :                                                                                 { (yyval.objtype) = OBJECT_TSDICTIONARY; }
   38772             : #line 38773 "gram.c"
   38773        2756 :     break;
   38774             : 
   38775         114 :   case 941: /* object_type_any_name: TEXT_P SEARCH TEMPLATE  */
   38776             : #line 7059 "gram.y"
   38777             :                                                                                 { (yyval.objtype) = OBJECT_TSTEMPLATE; }
   38778             : #line 38779 "gram.c"
   38779         114 :     break;
   38780             : 
   38781        2760 :   case 942: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION  */
   38782             : #line 7060 "gram.y"
   38783             :                                                                         { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
   38784             : #line 38785 "gram.c"
   38785        2760 :     break;
   38786             : 
   38787         230 :   case 943: /* object_type_name: drop_type_name  */
   38788             : #line 7070 "gram.y"
   38789             :                                                                                         { (yyval.objtype) = (yyvsp[0].objtype); }
   38790             : #line 38791 "gram.c"
   38791         230 :     break;
   38792             : 
   38793         234 :   case 944: /* object_type_name: DATABASE  */
   38794             : #line 7071 "gram.y"
   38795             :                                                                                                 { (yyval.objtype) = OBJECT_DATABASE; }
   38796             : #line 38797 "gram.c"
   38797         234 :     break;
   38798             : 
   38799          52 :   case 945: /* object_type_name: ROLE  */
   38800             : #line 7072 "gram.y"
   38801             :                                                                                                 { (yyval.objtype) = OBJECT_ROLE; }
   38802             : #line 38803 "gram.c"
   38803          52 :     break;
   38804             : 
   38805          10 :   case 946: /* object_type_name: SUBSCRIPTION  */
   38806             : #line 7073 "gram.y"
   38807             :                                                                                         { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
   38808             : #line 38809 "gram.c"
   38809          10 :     break;
   38810             : 
   38811           0 :   case 947: /* object_type_name: TABLESPACE  */
   38812             : #line 7074 "gram.y"
   38813             :                                                                                         { (yyval.objtype) = OBJECT_TABLESPACE; }
   38814             : #line 38815 "gram.c"
   38815           0 :     break;
   38816             : 
   38817          46 :   case 948: /* drop_type_name: ACCESS METHOD  */
   38818             : #line 7078 "gram.y"
   38819             :                                                                                         { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
   38820             : #line 38821 "gram.c"
   38821          46 :     break;
   38822             : 
   38823         126 :   case 949: /* drop_type_name: EVENT TRIGGER  */
   38824             : #line 7079 "gram.y"
   38825             :                                                                                         { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
   38826             : #line 38827 "gram.c"
   38827         126 :     break;
   38828             : 
   38829         148 :   case 950: /* drop_type_name: EXTENSION  */
   38830             : #line 7080 "gram.y"
   38831             :                                                                                                 { (yyval.objtype) = OBJECT_EXTENSION; }
   38832             : #line 38833 "gram.c"
   38833         148 :     break;
   38834             : 
   38835         154 :   case 951: /* drop_type_name: FOREIGN DATA_P WRAPPER  */
   38836             : #line 7081 "gram.y"
   38837             :                                                                                 { (yyval.objtype) = OBJECT_FDW; }
   38838             : #line 38839 "gram.c"
   38839         154 :     break;
   38840             : 
   38841         152 :   case 952: /* drop_type_name: opt_procedural LANGUAGE  */
   38842             : #line 7082 "gram.y"
   38843             :                                                                                 { (yyval.objtype) = OBJECT_LANGUAGE; }
   38844             : #line 38845 "gram.c"
   38845         152 :     break;
   38846             : 
   38847         380 :   case 953: /* drop_type_name: PUBLICATION  */
   38848             : #line 7083 "gram.y"
   38849             :                                                                                         { (yyval.objtype) = OBJECT_PUBLICATION; }
   38850             : #line 38851 "gram.c"
   38851         380 :     break;
   38852             : 
   38853         582 :   case 954: /* drop_type_name: SCHEMA  */
   38854             : #line 7084 "gram.y"
   38855             :                                                                                                 { (yyval.objtype) = OBJECT_SCHEMA; }
   38856             : #line 38857 "gram.c"
   38857         582 :     break;
   38858             : 
   38859         130 :   case 955: /* drop_type_name: SERVER  */
   38860             : #line 7085 "gram.y"
   38861             :                                                                                                 { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
   38862             : #line 38863 "gram.c"
   38863         130 :     break;
   38864             : 
   38865         164 :   case 956: /* object_type_name_on_any_name: POLICY  */
   38866             : #line 7090 "gram.y"
   38867             :                                                                                                 { (yyval.objtype) = OBJECT_POLICY; }
   38868             : #line 38869 "gram.c"
   38869         164 :     break;
   38870             : 
   38871         268 :   case 957: /* object_type_name_on_any_name: RULE  */
   38872             : #line 7091 "gram.y"
   38873             :                                                                                                 { (yyval.objtype) = OBJECT_RULE; }
   38874             : #line 38875 "gram.c"
   38875         268 :     break;
   38876             : 
   38877         798 :   case 958: /* object_type_name_on_any_name: TRIGGER  */
   38878             : #line 7092 "gram.y"
   38879             :                                                                                                 { (yyval.objtype) = OBJECT_TRIGGER; }
   38880             : #line 38881 "gram.c"
   38881         798 :     break;
   38882             : 
   38883       26096 :   case 959: /* any_name_list: any_name  */
   38884             : #line 7096 "gram.y"
   38885             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   38886             : #line 38887 "gram.c"
   38887       26096 :     break;
   38888             : 
   38889        4240 :   case 960: /* any_name_list: any_name_list ',' any_name  */
   38890             : #line 7097 "gram.y"
   38891             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   38892             : #line 38893 "gram.c"
   38893        4240 :     break;
   38894             : 
   38895       66064 :   case 961: /* any_name: ColId  */
   38896             : #line 7100 "gram.y"
   38897             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38898             : #line 38899 "gram.c"
   38899       66064 :     break;
   38900             : 
   38901        9554 :   case 962: /* any_name: ColId attrs  */
   38902             : #line 7101 "gram.y"
   38903             :                                                                 { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
   38904             : #line 38905 "gram.c"
   38905        9554 :     break;
   38906             : 
   38907      129874 :   case 963: /* attrs: '.' attr_name  */
   38908             : #line 7105 "gram.y"
   38909             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   38910             : #line 38911 "gram.c"
   38911      129874 :     break;
   38912             : 
   38913          96 :   case 964: /* attrs: attrs '.' attr_name  */
   38914             : #line 7107 "gram.y"
   38915             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   38916             : #line 38917 "gram.c"
   38917          96 :     break;
   38918             : 
   38919        1068 :   case 965: /* type_name_list: Typename  */
   38920             : #line 7111 "gram.y"
   38921             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   38922             : #line 38923 "gram.c"
   38923        1068 :     break;
   38924             : 
   38925          96 :   case 966: /* type_name_list: type_name_list ',' Typename  */
   38926             : #line 7112 "gram.y"
   38927             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   38928             : #line 38929 "gram.c"
   38929          96 :     break;
   38930             : 
   38931        2932 :   case 967: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior  */
   38932             : #line 7124 "gram.y"
   38933             :                                 {
   38934             :                     TruncateStmt *n = makeNode(TruncateStmt);
   38935             : 
   38936             :                     n->relations = (yyvsp[-2].list);
   38937             :                     n->restart_seqs = (yyvsp[-1].boolean);
   38938             :                     n->behavior = (yyvsp[0].dbehavior);
   38939             :                     (yyval.node) = (Node *) n;
   38940             :                 }
   38941             : #line 38942 "gram.c"
   38942        2932 :     break;
   38943             : 
   38944          24 :   case 968: /* opt_restart_seqs: CONTINUE_P IDENTITY_P  */
   38945             : #line 7135 "gram.y"
   38946             :                                                         { (yyval.boolean) = false; }
   38947             : #line 38948 "gram.c"
   38948          24 :     break;
   38949             : 
   38950          22 :   case 969: /* opt_restart_seqs: RESTART IDENTITY_P  */
   38951             : #line 7136 "gram.y"
   38952             :                                                         { (yyval.boolean) = true; }
   38953             : #line 38954 "gram.c"
   38954          22 :     break;
   38955             : 
   38956        2886 :   case 970: /* opt_restart_seqs: %empty  */
   38957             : #line 7137 "gram.y"
   38958             :                                                                 { (yyval.boolean) = false; }
   38959             : #line 38960 "gram.c"
   38960        2886 :     break;
   38961             : 
   38962        5786 :   case 971: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text  */
   38963             : #line 7148 "gram.y"
   38964             :                                 {
   38965             :                     CommentStmt *n = makeNode(CommentStmt);
   38966             : 
   38967             :                     n->objtype = (yyvsp[-3].objtype);
   38968             :                     n->object = (Node *) (yyvsp[-2].list);
   38969             :                     n->comment = (yyvsp[0].str);
   38970             :                     (yyval.node) = (Node *) n;
   38971             :                 }
   38972             : #line 38973 "gram.c"
   38973        5786 :     break;
   38974             : 
   38975         118 :   case 972: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text  */
   38976             : #line 7157 "gram.y"
   38977             :                                 {
   38978             :                     CommentStmt *n = makeNode(CommentStmt);
   38979             : 
   38980             :                     n->objtype = OBJECT_COLUMN;
   38981             :                     n->object = (Node *) (yyvsp[-2].list);
   38982             :                     n->comment = (yyvsp[0].str);
   38983             :                     (yyval.node) = (Node *) n;
   38984             :                 }
   38985             : #line 38986 "gram.c"
   38986         118 :     break;
   38987             : 
   38988         464 :   case 973: /* CommentStmt: COMMENT ON object_type_name name IS comment_text  */
   38989             : #line 7166 "gram.y"
   38990             :                                 {
   38991             :                     CommentStmt *n = makeNode(CommentStmt);
   38992             : 
   38993             :                     n->objtype = (yyvsp[-3].objtype);
   38994             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   38995             :                     n->comment = (yyvsp[0].str);
   38996             :                     (yyval.node) = (Node *) n;
   38997             :                 }
   38998             : #line 38999 "gram.c"
   38999         464 :     break;
   39000             : 
   39001          56 :   case 974: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text  */
   39002             : #line 7175 "gram.y"
   39003             :                                 {
   39004             :                     CommentStmt *n = makeNode(CommentStmt);
   39005             : 
   39006             :                     n->objtype = OBJECT_TYPE;
   39007             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39008             :                     n->comment = (yyvsp[0].str);
   39009             :                     (yyval.node) = (Node *) n;
   39010             :                 }
   39011             : #line 39012 "gram.c"
   39012          56 :     break;
   39013             : 
   39014           8 :   case 975: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text  */
   39015             : #line 7184 "gram.y"
   39016             :                                 {
   39017             :                     CommentStmt *n = makeNode(CommentStmt);
   39018             : 
   39019             :                     n->objtype = OBJECT_DOMAIN;
   39020             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39021             :                     n->comment = (yyvsp[0].str);
   39022             :                     (yyval.node) = (Node *) n;
   39023             :                 }
   39024             : #line 39025 "gram.c"
   39025           8 :     break;
   39026             : 
   39027          44 :   case 976: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text  */
   39028             : #line 7193 "gram.y"
   39029             :                                 {
   39030             :                     CommentStmt *n = makeNode(CommentStmt);
   39031             : 
   39032             :                     n->objtype = OBJECT_AGGREGATE;
   39033             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39034             :                     n->comment = (yyvsp[0].str);
   39035             :                     (yyval.node) = (Node *) n;
   39036             :                 }
   39037             : #line 39038 "gram.c"
   39038          44 :     break;
   39039             : 
   39040         170 :   case 977: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text  */
   39041             : #line 7202 "gram.y"
   39042             :                                 {
   39043             :                     CommentStmt *n = makeNode(CommentStmt);
   39044             : 
   39045             :                     n->objtype = OBJECT_FUNCTION;
   39046             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39047             :                     n->comment = (yyvsp[0].str);
   39048             :                     (yyval.node) = (Node *) n;
   39049             :                 }
   39050             : #line 39051 "gram.c"
   39051         170 :     break;
   39052             : 
   39053          18 :   case 978: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text  */
   39054             : #line 7211 "gram.y"
   39055             :                                 {
   39056             :                     CommentStmt *n = makeNode(CommentStmt);
   39057             : 
   39058             :                     n->objtype = OBJECT_OPERATOR;
   39059             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39060             :                     n->comment = (yyvsp[0].str);
   39061             :                     (yyval.node) = (Node *) n;
   39062             :                 }
   39063             : #line 39064 "gram.c"
   39064          18 :     break;
   39065             : 
   39066         116 :   case 979: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text  */
   39067             : #line 7220 "gram.y"
   39068             :                                 {
   39069             :                     CommentStmt *n = makeNode(CommentStmt);
   39070             : 
   39071             :                     n->objtype = OBJECT_TABCONSTRAINT;
   39072             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39073             :                     n->comment = (yyvsp[0].str);
   39074             :                     (yyval.node) = (Node *) n;
   39075             :                 }
   39076             : #line 39077 "gram.c"
   39077         116 :     break;
   39078             : 
   39079          38 :   case 980: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text  */
   39080             : #line 7229 "gram.y"
   39081             :                                 {
   39082             :                     CommentStmt *n = makeNode(CommentStmt);
   39083             : 
   39084             :                     n->objtype = OBJECT_DOMCONSTRAINT;
   39085             :                     /*
   39086             :                      * should use Typename not any_name in the production, but
   39087             :                      * there's a shift/reduce conflict if we do that, so fix it
   39088             :                      * up here.
   39089             :                      */
   39090             :                     n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
   39091             :                     n->comment = (yyvsp[0].str);
   39092             :                     (yyval.node) = (Node *) n;
   39093             :                 }
   39094             : #line 39095 "gram.c"
   39095          38 :     break;
   39096             : 
   39097          40 :   case 981: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text  */
   39098             : #line 7243 "gram.y"
   39099             :                                 {
   39100             :                     CommentStmt *n = makeNode(CommentStmt);
   39101             : 
   39102             :                     n->objtype = (yyvsp[-5].objtype);
   39103             :                     n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
   39104             :                     n->comment = (yyvsp[0].str);
   39105             :                     (yyval.node) = (Node *) n;
   39106             :                 }
   39107             : #line 39108 "gram.c"
   39108          40 :     break;
   39109             : 
   39110           0 :   case 982: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text  */
   39111             : #line 7252 "gram.y"
   39112             :                                 {
   39113             :                     CommentStmt *n = makeNode(CommentStmt);
   39114             : 
   39115             :                     n->objtype = OBJECT_PROCEDURE;
   39116             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39117             :                     n->comment = (yyvsp[0].str);
   39118             :                     (yyval.node) = (Node *) n;
   39119             :                 }
   39120             : #line 39121 "gram.c"
   39121           0 :     break;
   39122             : 
   39123           0 :   case 983: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text  */
   39124             : #line 7261 "gram.y"
   39125             :                                 {
   39126             :                     CommentStmt *n = makeNode(CommentStmt);
   39127             : 
   39128             :                     n->objtype = OBJECT_ROUTINE;
   39129             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39130             :                     n->comment = (yyvsp[0].str);
   39131             :                     (yyval.node) = (Node *) n;
   39132             :                 }
   39133             : #line 39134 "gram.c"
   39134           0 :     break;
   39135             : 
   39136          14 :   case 984: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text  */
   39137             : #line 7270 "gram.y"
   39138             :                                 {
   39139             :                     CommentStmt *n = makeNode(CommentStmt);
   39140             : 
   39141             :                     n->objtype = OBJECT_TRANSFORM;
   39142             :                     n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
   39143             :                     n->comment = (yyvsp[0].str);
   39144             :                     (yyval.node) = (Node *) n;
   39145             :                 }
   39146             : #line 39147 "gram.c"
   39147          14 :     break;
   39148             : 
   39149           0 :   case 985: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text  */
   39150             : #line 7279 "gram.y"
   39151             :                                 {
   39152             :                     CommentStmt *n = makeNode(CommentStmt);
   39153             : 
   39154             :                     n->objtype = OBJECT_OPCLASS;
   39155             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39156             :                     n->comment = (yyvsp[0].str);
   39157             :                     (yyval.node) = (Node *) n;
   39158             :                 }
   39159             : #line 39160 "gram.c"
   39160           0 :     break;
   39161             : 
   39162           0 :   case 986: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text  */
   39163             : #line 7288 "gram.y"
   39164             :                                 {
   39165             :                     CommentStmt *n = makeNode(CommentStmt);
   39166             : 
   39167             :                     n->objtype = OBJECT_OPFAMILY;
   39168             :                     n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
   39169             :                     n->comment = (yyvsp[0].str);
   39170             :                     (yyval.node) = (Node *) n;
   39171             :                 }
   39172             : #line 39173 "gram.c"
   39173           0 :     break;
   39174             : 
   39175          28 :   case 987: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text  */
   39176             : #line 7297 "gram.y"
   39177             :                                 {
   39178             :                     CommentStmt *n = makeNode(CommentStmt);
   39179             : 
   39180             :                     n->objtype = OBJECT_LARGEOBJECT;
   39181             :                     n->object = (Node *) (yyvsp[-2].node);
   39182             :                     n->comment = (yyvsp[0].str);
   39183             :                     (yyval.node) = (Node *) n;
   39184             :                 }
   39185             : #line 39186 "gram.c"
   39186          28 :     break;
   39187             : 
   39188           0 :   case 988: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text  */
   39189             : #line 7306 "gram.y"
   39190             :                                 {
   39191             :                     CommentStmt *n = makeNode(CommentStmt);
   39192             : 
   39193             :                     n->objtype = OBJECT_CAST;
   39194             :                     n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
   39195             :                     n->comment = (yyvsp[0].str);
   39196             :                     (yyval.node) = (Node *) n;
   39197             :                 }
   39198             : #line 39199 "gram.c"
   39199           0 :     break;
   39200             : 
   39201        6796 :   case 989: /* comment_text: Sconst  */
   39202             : #line 7317 "gram.y"
   39203             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   39204             : #line 39205 "gram.c"
   39205        6796 :     break;
   39206             : 
   39207         104 :   case 990: /* comment_text: NULL_P  */
   39208             : #line 7318 "gram.y"
   39209             :                                                                                         { (yyval.str) = NULL; }
   39210             : #line 39211 "gram.c"
   39211         104 :     break;
   39212             : 
   39213          48 :   case 991: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label  */
   39214             : #line 7334 "gram.y"
   39215             :                                 {
   39216             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39217             : 
   39218             :                     n->provider = (yyvsp[-5].str);
   39219             :                     n->objtype = (yyvsp[-3].objtype);
   39220             :                     n->object = (Node *) (yyvsp[-2].list);
   39221             :                     n->label = (yyvsp[0].str);
   39222             :                     (yyval.node) = (Node *) n;
   39223             :                 }
   39224             : #line 39225 "gram.c"
   39225          48 :     break;
   39226             : 
   39227           4 :   case 992: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label  */
   39228             : #line 7345 "gram.y"
   39229             :                                 {
   39230             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39231             : 
   39232             :                     n->provider = (yyvsp[-5].str);
   39233             :                     n->objtype = OBJECT_COLUMN;
   39234             :                     n->object = (Node *) (yyvsp[-2].list);
   39235             :                     n->label = (yyvsp[0].str);
   39236             :                     (yyval.node) = (Node *) n;
   39237             :                 }
   39238             : #line 39239 "gram.c"
   39239           4 :     break;
   39240             : 
   39241          44 :   case 993: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label  */
   39242             : #line 7356 "gram.y"
   39243             :                                 {
   39244             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39245             : 
   39246             :                     n->provider = (yyvsp[-5].str);
   39247             :                     n->objtype = (yyvsp[-3].objtype);
   39248             :                     n->object = (Node *) makeString((yyvsp[-2].str));
   39249             :                     n->label = (yyvsp[0].str);
   39250             :                     (yyval.node) = (Node *) n;
   39251             :                 }
   39252             : #line 39253 "gram.c"
   39253          44 :     break;
   39254             : 
   39255           0 :   case 994: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label  */
   39256             : #line 7367 "gram.y"
   39257             :                                 {
   39258             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39259             : 
   39260             :                     n->provider = (yyvsp[-5].str);
   39261             :                     n->objtype = OBJECT_TYPE;
   39262             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39263             :                     n->label = (yyvsp[0].str);
   39264             :                     (yyval.node) = (Node *) n;
   39265             :                 }
   39266             : #line 39267 "gram.c"
   39267           0 :     break;
   39268             : 
   39269           2 :   case 995: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label  */
   39270             : #line 7378 "gram.y"
   39271             :                                 {
   39272             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39273             : 
   39274             :                     n->provider = (yyvsp[-5].str);
   39275             :                     n->objtype = OBJECT_DOMAIN;
   39276             :                     n->object = (Node *) (yyvsp[-2].typnam);
   39277             :                     n->label = (yyvsp[0].str);
   39278             :                     (yyval.node) = (Node *) n;
   39279             :                 }
   39280             : #line 39281 "gram.c"
   39281           2 :     break;
   39282             : 
   39283           0 :   case 996: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label  */
   39284             : #line 7389 "gram.y"
   39285             :                                 {
   39286             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39287             : 
   39288             :                     n->provider = (yyvsp[-5].str);
   39289             :                     n->objtype = OBJECT_AGGREGATE;
   39290             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39291             :                     n->label = (yyvsp[0].str);
   39292             :                     (yyval.node) = (Node *) n;
   39293             :                 }
   39294             : #line 39295 "gram.c"
   39295           0 :     break;
   39296             : 
   39297           2 :   case 997: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label  */
   39298             : #line 7400 "gram.y"
   39299             :                                 {
   39300             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39301             : 
   39302             :                     n->provider = (yyvsp[-5].str);
   39303             :                     n->objtype = OBJECT_FUNCTION;
   39304             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39305             :                     n->label = (yyvsp[0].str);
   39306             :                     (yyval.node) = (Node *) n;
   39307             :                 }
   39308             : #line 39309 "gram.c"
   39309           2 :     break;
   39310             : 
   39311           0 :   case 998: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label  */
   39312             : #line 7411 "gram.y"
   39313             :                                 {
   39314             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39315             : 
   39316             :                     n->provider = (yyvsp[-6].str);
   39317             :                     n->objtype = OBJECT_LARGEOBJECT;
   39318             :                     n->object = (Node *) (yyvsp[-2].node);
   39319             :                     n->label = (yyvsp[0].str);
   39320             :                     (yyval.node) = (Node *) n;
   39321             :                 }
   39322             : #line 39323 "gram.c"
   39323           0 :     break;
   39324             : 
   39325           0 :   case 999: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label  */
   39326             : #line 7422 "gram.y"
   39327             :                                 {
   39328             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39329             : 
   39330             :                     n->provider = (yyvsp[-5].str);
   39331             :                     n->objtype = OBJECT_PROCEDURE;
   39332             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39333             :                     n->label = (yyvsp[0].str);
   39334             :                     (yyval.node) = (Node *) n;
   39335             :                 }
   39336             : #line 39337 "gram.c"
   39337           0 :     break;
   39338             : 
   39339           0 :   case 1000: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label  */
   39340             : #line 7433 "gram.y"
   39341             :                                 {
   39342             :                     SecLabelStmt *n = makeNode(SecLabelStmt);
   39343             : 
   39344             :                     n->provider = (yyvsp[-5].str);
   39345             :                     n->objtype = OBJECT_ROUTINE;
   39346             :                     n->object = (Node *) (yyvsp[-2].objwithargs);
   39347             :                     n->label = (yyvsp[0].str);
   39348             :                     (yyval.node) = (Node *) n;
   39349             :                 }
   39350             : #line 39351 "gram.c"
   39351           0 :     break;
   39352             : 
   39353          20 :   case 1001: /* opt_provider: FOR NonReservedWord_or_Sconst  */
   39354             : #line 7444 "gram.y"
   39355             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39356             : #line 39357 "gram.c"
   39357          20 :     break;
   39358             : 
   39359          80 :   case 1002: /* opt_provider: %empty  */
   39360             : #line 7445 "gram.y"
   39361             :                                                                                 { (yyval.str) = NULL; }
   39362             : #line 39363 "gram.c"
   39363          80 :     break;
   39364             : 
   39365         100 :   case 1003: /* security_label: Sconst  */
   39366             : #line 7448 "gram.y"
   39367             :                                                 { (yyval.str) = (yyvsp[0].str); }
   39368             : #line 39369 "gram.c"
   39369         100 :     break;
   39370             : 
   39371           0 :   case 1004: /* security_label: NULL_P  */
   39372             : #line 7449 "gram.y"
   39373             :                                                                 { (yyval.str) = NULL; }
   39374             : #line 39375 "gram.c"
   39375           0 :     break;
   39376             : 
   39377        7492 :   case 1005: /* FetchStmt: FETCH fetch_args  */
   39378             : #line 7460 "gram.y"
   39379             :                                 {
   39380             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39381             : 
   39382             :                     n->ismove = false;
   39383             :                     (yyval.node) = (Node *) n;
   39384             :                 }
   39385             : #line 39386 "gram.c"
   39386        7492 :     break;
   39387             : 
   39388          68 :   case 1006: /* FetchStmt: MOVE fetch_args  */
   39389             : #line 7467 "gram.y"
   39390             :                                 {
   39391             :                     FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
   39392             : 
   39393             :                     n->ismove = true;
   39394             :                     (yyval.node) = (Node *) n;
   39395             :                 }
   39396             : #line 39397 "gram.c"
   39397          68 :     break;
   39398             : 
   39399         266 :   case 1007: /* fetch_args: cursor_name  */
   39400             : #line 7476 "gram.y"
   39401             :                                 {
   39402             :                     FetchStmt *n = makeNode(FetchStmt);
   39403             : 
   39404             :                     n->portalname = (yyvsp[0].str);
   39405             :                     n->direction = FETCH_FORWARD;
   39406             :                     n->howMany = 1;
   39407             :                     (yyval.node) = (Node *) n;
   39408             :                 }
   39409             : #line 39410 "gram.c"
   39410         266 :     break;
   39411             : 
   39412         218 :   case 1008: /* fetch_args: from_in cursor_name  */
   39413             : #line 7485 "gram.y"
   39414             :                                 {
   39415             :                     FetchStmt *n = makeNode(FetchStmt);
   39416             : 
   39417             :                     n->portalname = (yyvsp[0].str);
   39418             :                     n->direction = FETCH_FORWARD;
   39419             :                     n->howMany = 1;
   39420             :                     (yyval.node) = (Node *) n;
   39421             :                 }
   39422             : #line 39423 "gram.c"
   39423         218 :     break;
   39424             : 
   39425        2008 :   case 1009: /* fetch_args: NEXT opt_from_in cursor_name  */
   39426             : #line 7494 "gram.y"
   39427             :                                 {
   39428             :                     FetchStmt *n = makeNode(FetchStmt);
   39429             : 
   39430             :                     n->portalname = (yyvsp[0].str);
   39431             :                     n->direction = FETCH_FORWARD;
   39432             :                     n->howMany = 1;
   39433             :                     (yyval.node) = (Node *) n;
   39434             :                 }
   39435             : #line 39436 "gram.c"
   39436        2008 :     break;
   39437             : 
   39438          30 :   case 1010: /* fetch_args: PRIOR opt_from_in cursor_name  */
   39439             : #line 7503 "gram.y"
   39440             :                                 {
   39441             :                     FetchStmt *n = makeNode(FetchStmt);
   39442             : 
   39443             :                     n->portalname = (yyvsp[0].str);
   39444             :                     n->direction = FETCH_BACKWARD;
   39445             :                     n->howMany = 1;
   39446             :                     (yyval.node) = (Node *) n;
   39447             :                 }
   39448             : #line 39449 "gram.c"
   39449          30 :     break;
   39450             : 
   39451          24 :   case 1011: /* fetch_args: FIRST_P opt_from_in cursor_name  */
   39452             : #line 7512 "gram.y"
   39453             :                                 {
   39454             :                     FetchStmt *n = makeNode(FetchStmt);
   39455             : 
   39456             :                     n->portalname = (yyvsp[0].str);
   39457             :                     n->direction = FETCH_ABSOLUTE;
   39458             :                     n->howMany = 1;
   39459             :                     (yyval.node) = (Node *) n;
   39460             :                 }
   39461             : #line 39462 "gram.c"
   39462          24 :     break;
   39463             : 
   39464          18 :   case 1012: /* fetch_args: LAST_P opt_from_in cursor_name  */
   39465             : #line 7521 "gram.y"
   39466             :                                 {
   39467             :                     FetchStmt *n = makeNode(FetchStmt);
   39468             : 
   39469             :                     n->portalname = (yyvsp[0].str);
   39470             :                     n->direction = FETCH_ABSOLUTE;
   39471             :                     n->howMany = -1;
   39472             :                     (yyval.node) = (Node *) n;
   39473             :                 }
   39474             : #line 39475 "gram.c"
   39475          18 :     break;
   39476             : 
   39477          88 :   case 1013: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name  */
   39478             : #line 7530 "gram.y"
   39479             :                                 {
   39480             :                     FetchStmt *n = makeNode(FetchStmt);
   39481             : 
   39482             :                     n->portalname = (yyvsp[0].str);
   39483             :                     n->direction = FETCH_ABSOLUTE;
   39484             :                     n->howMany = (yyvsp[-2].ival);
   39485             :                     (yyval.node) = (Node *) n;
   39486             :                 }
   39487             : #line 39488 "gram.c"
   39488          88 :     break;
   39489             : 
   39490          30 :   case 1014: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name  */
   39491             : #line 7539 "gram.y"
   39492             :                                 {
   39493             :                     FetchStmt *n = makeNode(FetchStmt);
   39494             : 
   39495             :                     n->portalname = (yyvsp[0].str);
   39496             :                     n->direction = FETCH_RELATIVE;
   39497             :                     n->howMany = (yyvsp[-2].ival);
   39498             :                     (yyval.node) = (Node *) n;
   39499             :                 }
   39500             : #line 39501 "gram.c"
   39501          30 :     break;
   39502             : 
   39503        4174 :   case 1015: /* fetch_args: SignedIconst opt_from_in cursor_name  */
   39504             : #line 7548 "gram.y"
   39505             :                                 {
   39506             :                     FetchStmt *n = makeNode(FetchStmt);
   39507             : 
   39508             :                     n->portalname = (yyvsp[0].str);
   39509             :                     n->direction = FETCH_FORWARD;
   39510             :                     n->howMany = (yyvsp[-2].ival);
   39511             :                     (yyval.node) = (Node *) n;
   39512             :                 }
   39513             : #line 39514 "gram.c"
   39514        4174 :     break;
   39515             : 
   39516         268 :   case 1016: /* fetch_args: ALL opt_from_in cursor_name  */
   39517             : #line 7557 "gram.y"
   39518             :                                 {
   39519             :                     FetchStmt *n = makeNode(FetchStmt);
   39520             : 
   39521             :                     n->portalname = (yyvsp[0].str);
   39522             :                     n->direction = FETCH_FORWARD;
   39523             :                     n->howMany = FETCH_ALL;
   39524             :                     (yyval.node) = (Node *) n;
   39525             :                 }
   39526             : #line 39527 "gram.c"
   39527         268 :     break;
   39528             : 
   39529          28 :   case 1017: /* fetch_args: FORWARD opt_from_in cursor_name  */
   39530             : #line 7566 "gram.y"
   39531             :                                 {
   39532             :                     FetchStmt *n = makeNode(FetchStmt);
   39533             : 
   39534             :                     n->portalname = (yyvsp[0].str);
   39535             :                     n->direction = FETCH_FORWARD;
   39536             :                     n->howMany = 1;
   39537             :                     (yyval.node) = (Node *) n;
   39538             :                 }
   39539             : #line 39540 "gram.c"
   39540          28 :     break;
   39541             : 
   39542           6 :   case 1018: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name  */
   39543             : #line 7575 "gram.y"
   39544             :                                 {
   39545             :                     FetchStmt *n = makeNode(FetchStmt);
   39546             : 
   39547             :                     n->portalname = (yyvsp[0].str);
   39548             :                     n->direction = FETCH_FORWARD;
   39549             :                     n->howMany = (yyvsp[-2].ival);
   39550             :                     (yyval.node) = (Node *) n;
   39551             :                 }
   39552             : #line 39553 "gram.c"
   39553           6 :     break;
   39554             : 
   39555          14 :   case 1019: /* fetch_args: FORWARD ALL opt_from_in cursor_name  */
   39556             : #line 7584 "gram.y"
   39557             :                                 {
   39558             :                     FetchStmt *n = makeNode(FetchStmt);
   39559             : 
   39560             :                     n->portalname = (yyvsp[0].str);
   39561             :                     n->direction = FETCH_FORWARD;
   39562             :                     n->howMany = FETCH_ALL;
   39563             :                     (yyval.node) = (Node *) n;
   39564             :                 }
   39565             : #line 39566 "gram.c"
   39566          14 :     break;
   39567             : 
   39568          78 :   case 1020: /* fetch_args: BACKWARD opt_from_in cursor_name  */
   39569             : #line 7593 "gram.y"
   39570             :                                 {
   39571             :                     FetchStmt *n = makeNode(FetchStmt);
   39572             : 
   39573             :                     n->portalname = (yyvsp[0].str);
   39574             :                     n->direction = FETCH_BACKWARD;
   39575             :                     n->howMany = 1;
   39576             :                     (yyval.node) = (Node *) n;
   39577             :                 }
   39578             : #line 39579 "gram.c"
   39579          78 :     break;
   39580             : 
   39581         220 :   case 1021: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name  */
   39582             : #line 7602 "gram.y"
   39583             :                                 {
   39584             :                     FetchStmt *n = makeNode(FetchStmt);
   39585             : 
   39586             :                     n->portalname = (yyvsp[0].str);
   39587             :                     n->direction = FETCH_BACKWARD;
   39588             :                     n->howMany = (yyvsp[-2].ival);
   39589             :                     (yyval.node) = (Node *) n;
   39590             :                 }
   39591             : #line 39592 "gram.c"
   39592         220 :     break;
   39593             : 
   39594          90 :   case 1022: /* fetch_args: BACKWARD ALL opt_from_in cursor_name  */
   39595             : #line 7611 "gram.y"
   39596             :                                 {
   39597             :                     FetchStmt *n = makeNode(FetchStmt);
   39598             : 
   39599             :                     n->portalname = (yyvsp[0].str);
   39600             :                     n->direction = FETCH_BACKWARD;
   39601             :                     n->howMany = FETCH_ALL;
   39602             :                     (yyval.node) = (Node *) n;
   39603             :                 }
   39604             : #line 39605 "gram.c"
   39605          90 :     break;
   39606             : 
   39607       11348 :   case 1027: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by  */
   39608             : #line 7638 "gram.y"
   39609             :                                 {
   39610             :                     GrantStmt *n = makeNode(GrantStmt);
   39611             : 
   39612             :                     n->is_grant = true;
   39613             :                     n->privileges = (yyvsp[-6].list);
   39614             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39615             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39616             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39617             :                     n->grantees = (yyvsp[-2].list);
   39618             :                     n->grant_option = (yyvsp[-1].boolean);
   39619             :                     n->grantor = (yyvsp[0].rolespec);
   39620             :                     (yyval.node) = (Node *) n;
   39621             :                 }
   39622             : #line 39623 "gram.c"
   39623       11348 :     break;
   39624             : 
   39625        9986 :   case 1028: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   39626             : #line 7656 "gram.y"
   39627             :                                 {
   39628             :                     GrantStmt *n = makeNode(GrantStmt);
   39629             : 
   39630             :                     n->is_grant = false;
   39631             :                     n->grant_option = false;
   39632             :                     n->privileges = (yyvsp[-6].list);
   39633             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39634             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39635             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39636             :                     n->grantees = (yyvsp[-2].list);
   39637             :                     n->grantor = (yyvsp[-1].rolespec);
   39638             :                     n->behavior = (yyvsp[0].dbehavior);
   39639             :                     (yyval.node) = (Node *) n;
   39640             :                 }
   39641             : #line 39642 "gram.c"
   39642        9986 :     break;
   39643             : 
   39644          16 :   case 1029: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior  */
   39645             : #line 7672 "gram.y"
   39646             :                                 {
   39647             :                     GrantStmt *n = makeNode(GrantStmt);
   39648             : 
   39649             :                     n->is_grant = false;
   39650             :                     n->grant_option = true;
   39651             :                     n->privileges = (yyvsp[-6].list);
   39652             :                     n->targtype = ((yyvsp[-4].privtarget))->targtype;
   39653             :                     n->objtype = ((yyvsp[-4].privtarget))->objtype;
   39654             :                     n->objects = ((yyvsp[-4].privtarget))->objs;
   39655             :                     n->grantees = (yyvsp[-2].list);
   39656             :                     n->grantor = (yyvsp[-1].rolespec);
   39657             :                     n->behavior = (yyvsp[0].dbehavior);
   39658             :                     (yyval.node) = (Node *) n;
   39659             :                 }
   39660             : #line 39661 "gram.c"
   39661          16 :     break;
   39662             : 
   39663       18864 :   case 1030: /* privileges: privilege_list  */
   39664             : #line 7699 "gram.y"
   39665             :                                 { (yyval.list) = (yyvsp[0].list); }
   39666             : #line 39667 "gram.c"
   39667       18864 :     break;
   39668             : 
   39669        2548 :   case 1031: /* privileges: ALL  */
   39670             : #line 7701 "gram.y"
   39671             :                                 { (yyval.list) = NIL; }
   39672             : #line 39673 "gram.c"
   39673        2548 :     break;
   39674             : 
   39675         122 :   case 1032: /* privileges: ALL PRIVILEGES  */
   39676             : #line 7703 "gram.y"
   39677             :                                 { (yyval.list) = NIL; }
   39678             : #line 39679 "gram.c"
   39679         122 :     break;
   39680             : 
   39681          18 :   case 1033: /* privileges: ALL '(' columnList ')'  */
   39682             : #line 7705 "gram.y"
   39683             :                                 {
   39684             :                     AccessPriv *n = makeNode(AccessPriv);
   39685             : 
   39686             :                     n->priv_name = NULL;
   39687             :                     n->cols = (yyvsp[-1].list);
   39688             :                     (yyval.list) = list_make1(n);
   39689             :                 }
   39690             : #line 39691 "gram.c"
   39691          18 :     break;
   39692             : 
   39693           0 :   case 1034: /* privileges: ALL PRIVILEGES '(' columnList ')'  */
   39694             : #line 7713 "gram.y"
   39695             :                                 {
   39696             :                     AccessPriv *n = makeNode(AccessPriv);
   39697             : 
   39698             :                     n->priv_name = NULL;
   39699             :                     n->cols = (yyvsp[-1].list);
   39700             :                     (yyval.list) = list_make1(n);
   39701             :                 }
   39702             : #line 39703 "gram.c"
   39703           0 :     break;
   39704             : 
   39705       19784 :   case 1035: /* privilege_list: privilege  */
   39706             : #line 7722 "gram.y"
   39707             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
   39708             : #line 39709 "gram.c"
   39709       19784 :     break;
   39710             : 
   39711         564 :   case 1036: /* privilege_list: privilege_list ',' privilege  */
   39712             : #line 7723 "gram.y"
   39713             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
   39714             : #line 39715 "gram.c"
   39715         564 :     break;
   39716             : 
   39717        9168 :   case 1037: /* privilege: SELECT opt_column_list  */
   39718             : #line 7727 "gram.y"
   39719             :                         {
   39720             :                 AccessPriv *n = makeNode(AccessPriv);
   39721             : 
   39722             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39723             :                 n->cols = (yyvsp[0].list);
   39724             :                 (yyval.accesspriv) = n;
   39725             :             }
   39726             : #line 39727 "gram.c"
   39727        9168 :     break;
   39728             : 
   39729          16 :   case 1038: /* privilege: REFERENCES opt_column_list  */
   39730             : #line 7735 "gram.y"
   39731             :                         {
   39732             :                 AccessPriv *n = makeNode(AccessPriv);
   39733             : 
   39734             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39735             :                 n->cols = (yyvsp[0].list);
   39736             :                 (yyval.accesspriv) = n;
   39737             :             }
   39738             : #line 39739 "gram.c"
   39739          16 :     break;
   39740             : 
   39741         290 :   case 1039: /* privilege: CREATE opt_column_list  */
   39742             : #line 7743 "gram.y"
   39743             :                         {
   39744             :                 AccessPriv *n = makeNode(AccessPriv);
   39745             : 
   39746             :                 n->priv_name = pstrdup((yyvsp[-1].keyword));
   39747             :                 n->cols = (yyvsp[0].list);
   39748             :                 (yyval.accesspriv) = n;
   39749             :             }
   39750             : #line 39751 "gram.c"
   39751         290 :     break;
   39752             : 
   39753          24 :   case 1040: /* privilege: ALTER SYSTEM_P  */
   39754             : #line 7751 "gram.y"
   39755             :                         {
   39756             :                 AccessPriv *n = makeNode(AccessPriv);
   39757             :                 n->priv_name = pstrdup("alter system");
   39758             :                 n->cols = NIL;
   39759             :                 (yyval.accesspriv) = n;
   39760             :             }
   39761             : #line 39762 "gram.c"
   39762          24 :     break;
   39763             : 
   39764       10850 :   case 1041: /* privilege: ColId opt_column_list  */
   39765             : #line 7758 "gram.y"
   39766             :                         {
   39767             :                 AccessPriv *n = makeNode(AccessPriv);
   39768             : 
   39769             :                 n->priv_name = (yyvsp[-1].str);
   39770             :                 n->cols = (yyvsp[0].list);
   39771             :                 (yyval.accesspriv) = n;
   39772             :             }
   39773             : #line 39774 "gram.c"
   39774       10850 :     break;
   39775             : 
   39776          74 :   case 1042: /* parameter_name_list: parameter_name  */
   39777             : #line 7769 "gram.y"
   39778             :                         {
   39779             :                 (yyval.list) = list_make1(makeString((yyvsp[0].str)));
   39780             :             }
   39781             : #line 39782 "gram.c"
   39782          74 :     break;
   39783             : 
   39784          50 :   case 1043: /* parameter_name_list: parameter_name_list ',' parameter_name  */
   39785             : #line 7773 "gram.y"
   39786             :                         {
   39787             :                 (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str)));
   39788             :             }
   39789             : #line 39790 "gram.c"
   39790          50 :     break;
   39791             : 
   39792         124 :   case 1044: /* parameter_name: ColId  */
   39793             : #line 7780 "gram.y"
   39794             :                         {
   39795             :                 (yyval.str) = (yyvsp[0].str);
   39796             :             }
   39797             : #line 39798 "gram.c"
   39798         124 :     break;
   39799             : 
   39800          30 :   case 1045: /* parameter_name: parameter_name '.' ColId  */
   39801             : #line 7784 "gram.y"
   39802             :                         {
   39803             :                 (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str));
   39804             :             }
   39805             : #line 39806 "gram.c"
   39806          30 :     break;
   39807             : 
   39808       11060 :   case 1046: /* privilege_target: qualified_name_list  */
   39809             : #line 7795 "gram.y"
   39810             :                                 {
   39811             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39812             : 
   39813             :                     n->targtype = ACL_TARGET_OBJECT;
   39814             :                     n->objtype = OBJECT_TABLE;
   39815             :                     n->objs = (yyvsp[0].list);
   39816             :                     (yyval.privtarget) = n;
   39817             :                 }
   39818             : #line 39819 "gram.c"
   39819       11060 :     break;
   39820             : 
   39821         412 :   case 1047: /* privilege_target: TABLE qualified_name_list  */
   39822             : #line 7804 "gram.y"
   39823             :                                 {
   39824             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39825             : 
   39826             :                     n->targtype = ACL_TARGET_OBJECT;
   39827             :                     n->objtype = OBJECT_TABLE;
   39828             :                     n->objs = (yyvsp[0].list);
   39829             :                     (yyval.privtarget) = n;
   39830             :                 }
   39831             : #line 39832 "gram.c"
   39832         412 :     break;
   39833             : 
   39834          24 :   case 1048: /* privilege_target: SEQUENCE qualified_name_list  */
   39835             : #line 7813 "gram.y"
   39836             :                                 {
   39837             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39838             : 
   39839             :                     n->targtype = ACL_TARGET_OBJECT;
   39840             :                     n->objtype = OBJECT_SEQUENCE;
   39841             :                     n->objs = (yyvsp[0].list);
   39842             :                     (yyval.privtarget) = n;
   39843             :                 }
   39844             : #line 39845 "gram.c"
   39845          24 :     break;
   39846             : 
   39847          92 :   case 1049: /* privilege_target: FOREIGN DATA_P WRAPPER name_list  */
   39848             : #line 7822 "gram.y"
   39849             :                                 {
   39850             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39851             : 
   39852             :                     n->targtype = ACL_TARGET_OBJECT;
   39853             :                     n->objtype = OBJECT_FDW;
   39854             :                     n->objs = (yyvsp[0].list);
   39855             :                     (yyval.privtarget) = n;
   39856             :                 }
   39857             : #line 39858 "gram.c"
   39858          92 :     break;
   39859             : 
   39860          88 :   case 1050: /* privilege_target: FOREIGN SERVER name_list  */
   39861             : #line 7831 "gram.y"
   39862             :                                 {
   39863             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39864             : 
   39865             :                     n->targtype = ACL_TARGET_OBJECT;
   39866             :                     n->objtype = OBJECT_FOREIGN_SERVER;
   39867             :                     n->objs = (yyvsp[0].list);
   39868             :                     (yyval.privtarget) = n;
   39869             :                 }
   39870             : #line 39871 "gram.c"
   39871          88 :     break;
   39872             : 
   39873        8562 :   case 1051: /* privilege_target: FUNCTION function_with_argtypes_list  */
   39874             : #line 7840 "gram.y"
   39875             :                                 {
   39876             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39877             : 
   39878             :                     n->targtype = ACL_TARGET_OBJECT;
   39879             :                     n->objtype = OBJECT_FUNCTION;
   39880             :                     n->objs = (yyvsp[0].list);
   39881             :                     (yyval.privtarget) = n;
   39882             :                 }
   39883             : #line 39884 "gram.c"
   39884        8562 :     break;
   39885             : 
   39886          42 :   case 1052: /* privilege_target: PROCEDURE function_with_argtypes_list  */
   39887             : #line 7849 "gram.y"
   39888             :                                 {
   39889             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39890             : 
   39891             :                     n->targtype = ACL_TARGET_OBJECT;
   39892             :                     n->objtype = OBJECT_PROCEDURE;
   39893             :                     n->objs = (yyvsp[0].list);
   39894             :                     (yyval.privtarget) = n;
   39895             :                 }
   39896             : #line 39897 "gram.c"
   39897          42 :     break;
   39898             : 
   39899           0 :   case 1053: /* privilege_target: ROUTINE function_with_argtypes_list  */
   39900             : #line 7858 "gram.y"
   39901             :                                 {
   39902             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39903             : 
   39904             :                     n->targtype = ACL_TARGET_OBJECT;
   39905             :                     n->objtype = OBJECT_ROUTINE;
   39906             :                     n->objs = (yyvsp[0].list);
   39907             :                     (yyval.privtarget) = n;
   39908             :                 }
   39909             : #line 39910 "gram.c"
   39910           0 :     break;
   39911             : 
   39912         344 :   case 1054: /* privilege_target: DATABASE name_list  */
   39913             : #line 7867 "gram.y"
   39914             :                                 {
   39915             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39916             : 
   39917             :                     n->targtype = ACL_TARGET_OBJECT;
   39918             :                     n->objtype = OBJECT_DATABASE;
   39919             :                     n->objs = (yyvsp[0].list);
   39920             :                     (yyval.privtarget) = n;
   39921             :                 }
   39922             : #line 39923 "gram.c"
   39923         344 :     break;
   39924             : 
   39925          26 :   case 1055: /* privilege_target: DOMAIN_P any_name_list  */
   39926             : #line 7876 "gram.y"
   39927             :                                 {
   39928             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39929             : 
   39930             :                     n->targtype = ACL_TARGET_OBJECT;
   39931             :                     n->objtype = OBJECT_DOMAIN;
   39932             :                     n->objs = (yyvsp[0].list);
   39933             :                     (yyval.privtarget) = n;
   39934             :                 }
   39935             : #line 39936 "gram.c"
   39936          26 :     break;
   39937             : 
   39938          42 :   case 1056: /* privilege_target: LANGUAGE name_list  */
   39939             : #line 7885 "gram.y"
   39940             :                                 {
   39941             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39942             : 
   39943             :                     n->targtype = ACL_TARGET_OBJECT;
   39944             :                     n->objtype = OBJECT_LANGUAGE;
   39945             :                     n->objs = (yyvsp[0].list);
   39946             :                     (yyval.privtarget) = n;
   39947             :                 }
   39948             : #line 39949 "gram.c"
   39949          42 :     break;
   39950             : 
   39951          80 :   case 1057: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list  */
   39952             : #line 7894 "gram.y"
   39953             :                                 {
   39954             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39955             : 
   39956             :                     n->targtype = ACL_TARGET_OBJECT;
   39957             :                     n->objtype = OBJECT_LARGEOBJECT;
   39958             :                     n->objs = (yyvsp[0].list);
   39959             :                     (yyval.privtarget) = n;
   39960             :                 }
   39961             : #line 39962 "gram.c"
   39962          80 :     break;
   39963             : 
   39964          74 :   case 1058: /* privilege_target: PARAMETER parameter_name_list  */
   39965             : #line 7903 "gram.y"
   39966             :                                 {
   39967             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39968             :                     n->targtype = ACL_TARGET_OBJECT;
   39969             :                     n->objtype = OBJECT_PARAMETER_ACL;
   39970             :                     n->objs = (yyvsp[0].list);
   39971             :                     (yyval.privtarget) = n;
   39972             :                 }
   39973             : #line 39974 "gram.c"
   39974          74 :     break;
   39975             : 
   39976         368 :   case 1059: /* privilege_target: SCHEMA name_list  */
   39977             : #line 7911 "gram.y"
   39978             :                                 {
   39979             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39980             : 
   39981             :                     n->targtype = ACL_TARGET_OBJECT;
   39982             :                     n->objtype = OBJECT_SCHEMA;
   39983             :                     n->objs = (yyvsp[0].list);
   39984             :                     (yyval.privtarget) = n;
   39985             :                 }
   39986             : #line 39987 "gram.c"
   39987         368 :     break;
   39988             : 
   39989           6 :   case 1060: /* privilege_target: TABLESPACE name_list  */
   39990             : #line 7920 "gram.y"
   39991             :                                 {
   39992             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   39993             : 
   39994             :                     n->targtype = ACL_TARGET_OBJECT;
   39995             :                     n->objtype = OBJECT_TABLESPACE;
   39996             :                     n->objs = (yyvsp[0].list);
   39997             :                     (yyval.privtarget) = n;
   39998             :                 }
   39999             : #line 40000 "gram.c"
   40000           6 :     break;
   40001             : 
   40002         112 :   case 1061: /* privilege_target: TYPE_P any_name_list  */
   40003             : #line 7929 "gram.y"
   40004             :                                 {
   40005             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40006             : 
   40007             :                     n->targtype = ACL_TARGET_OBJECT;
   40008             :                     n->objtype = OBJECT_TYPE;
   40009             :                     n->objs = (yyvsp[0].list);
   40010             :                     (yyval.privtarget) = n;
   40011             :                 }
   40012             : #line 40013 "gram.c"
   40013         112 :     break;
   40014             : 
   40015          12 :   case 1062: /* privilege_target: ALL TABLES IN_P SCHEMA name_list  */
   40016             : #line 7938 "gram.y"
   40017             :                                 {
   40018             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40019             : 
   40020             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40021             :                     n->objtype = OBJECT_TABLE;
   40022             :                     n->objs = (yyvsp[0].list);
   40023             :                     (yyval.privtarget) = n;
   40024             :                 }
   40025             : #line 40026 "gram.c"
   40026          12 :     break;
   40027             : 
   40028           0 :   case 1063: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list  */
   40029             : #line 7947 "gram.y"
   40030             :                                 {
   40031             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40032             : 
   40033             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40034             :                     n->objtype = OBJECT_SEQUENCE;
   40035             :                     n->objs = (yyvsp[0].list);
   40036             :                     (yyval.privtarget) = n;
   40037             :                 }
   40038             : #line 40039 "gram.c"
   40039           0 :     break;
   40040             : 
   40041           6 :   case 1064: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list  */
   40042             : #line 7956 "gram.y"
   40043             :                                 {
   40044             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40045             : 
   40046             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40047             :                     n->objtype = OBJECT_FUNCTION;
   40048             :                     n->objs = (yyvsp[0].list);
   40049             :                     (yyval.privtarget) = n;
   40050             :                 }
   40051             : #line 40052 "gram.c"
   40052           6 :     break;
   40053             : 
   40054           6 :   case 1065: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list  */
   40055             : #line 7965 "gram.y"
   40056             :                                 {
   40057             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40058             : 
   40059             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40060             :                     n->objtype = OBJECT_PROCEDURE;
   40061             :                     n->objs = (yyvsp[0].list);
   40062             :                     (yyval.privtarget) = n;
   40063             :                 }
   40064             : #line 40065 "gram.c"
   40065           6 :     break;
   40066             : 
   40067           6 :   case 1066: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list  */
   40068             : #line 7974 "gram.y"
   40069             :                                 {
   40070             :                     PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
   40071             : 
   40072             :                     n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
   40073             :                     n->objtype = OBJECT_ROUTINE;
   40074             :                     n->objs = (yyvsp[0].list);
   40075             :                     (yyval.privtarget) = n;
   40076             :                 }
   40077             : #line 40078 "gram.c"
   40078           6 :     break;
   40079             : 
   40080       21540 :   case 1067: /* grantee_list: grantee  */
   40081             : #line 7986 "gram.y"
   40082             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   40083             : #line 40084 "gram.c"
   40084       21540 :     break;
   40085             : 
   40086         108 :   case 1068: /* grantee_list: grantee_list ',' grantee  */
   40087             : #line 7987 "gram.y"
   40088             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   40089             : #line 40090 "gram.c"
   40090         108 :     break;
   40091             : 
   40092       21624 :   case 1069: /* grantee: RoleSpec  */
   40093             : #line 7991 "gram.y"
   40094             :                                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40095             : #line 40096 "gram.c"
   40096       21624 :     break;
   40097             : 
   40098          24 :   case 1070: /* grantee: GROUP_P RoleSpec  */
   40099             : #line 7992 "gram.y"
   40100             :                                                                                         { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40101             : #line 40102 "gram.c"
   40102          24 :     break;
   40103             : 
   40104         102 :   case 1071: /* opt_grant_grant_option: WITH GRANT OPTION  */
   40105             : #line 7997 "gram.y"
   40106             :                                           { (yyval.boolean) = true; }
   40107             : #line 40108 "gram.c"
   40108         102 :     break;
   40109             : 
   40110       11370 :   case 1072: /* opt_grant_grant_option: %empty  */
   40111             : #line 7998 "gram.y"
   40112             :                                     { (yyval.boolean) = false; }
   40113             : #line 40114 "gram.c"
   40114       11370 :     break;
   40115             : 
   40116         586 :   case 1073: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_granted_by  */
   40117             : #line 8009 "gram.y"
   40118             :                                 {
   40119             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40120             : 
   40121             :                     n->is_grant = true;
   40122             :                     n->granted_roles = (yyvsp[-3].list);
   40123             :                     n->grantee_roles = (yyvsp[-1].list);
   40124             :                     n->opt = NIL;
   40125             :                     n->grantor = (yyvsp[0].rolespec);
   40126             :                     (yyval.node) = (Node *) n;
   40127             :                 }
   40128             : #line 40129 "gram.c"
   40129         586 :     break;
   40130             : 
   40131         178 :   case 1074: /* GrantRoleStmt: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by  */
   40132             : #line 8020 "gram.y"
   40133             :                                 {
   40134             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40135             : 
   40136             :                     n->is_grant = true;
   40137             :                     n->granted_roles = (yyvsp[-5].list);
   40138             :                     n->grantee_roles = (yyvsp[-3].list);
   40139             :                     n->opt = (yyvsp[-1].list);
   40140             :                     n->grantor = (yyvsp[0].rolespec);
   40141             :                     (yyval.node) = (Node *) n;
   40142             :                 }
   40143             : #line 40144 "gram.c"
   40144         178 :     break;
   40145             : 
   40146          90 :   case 1075: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40147             : #line 8034 "gram.y"
   40148             :                                 {
   40149             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40150             : 
   40151             :                     n->is_grant = false;
   40152             :                     n->opt = NIL;
   40153             :                     n->granted_roles = (yyvsp[-4].list);
   40154             :                     n->grantee_roles = (yyvsp[-2].list);
   40155             :                     n->grantor = (yyvsp[-1].rolespec);
   40156             :                     n->behavior = (yyvsp[0].dbehavior);
   40157             :                     (yyval.node) = (Node *) n;
   40158             :                 }
   40159             : #line 40160 "gram.c"
   40160          90 :     break;
   40161             : 
   40162          66 :   case 1076: /* RevokeRoleStmt: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior  */
   40163             : #line 8046 "gram.y"
   40164             :                                 {
   40165             :                     GrantRoleStmt *n = makeNode(GrantRoleStmt);
   40166             :                     DefElem *opt;
   40167             : 
   40168             :                     opt = makeDefElem(pstrdup((yyvsp[-7].str)),
   40169             :                                       (Node *) makeBoolean(false), (yylsp[-7]));
   40170             :                     n->is_grant = false;
   40171             :                     n->opt = list_make1(opt);
   40172             :                     n->granted_roles = (yyvsp[-4].list);
   40173             :                     n->grantee_roles = (yyvsp[-2].list);
   40174             :                     n->grantor = (yyvsp[-1].rolespec);
   40175             :                     n->behavior = (yyvsp[0].dbehavior);
   40176             :                     (yyval.node) = (Node *) n;
   40177             :                 }
   40178             : #line 40179 "gram.c"
   40179          66 :     break;
   40180             : 
   40181         120 :   case 1077: /* grant_role_opt_list: grant_role_opt_list ',' grant_role_opt  */
   40182             : #line 8063 "gram.y"
   40183             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   40184             : #line 40185 "gram.c"
   40185         120 :     break;
   40186             : 
   40187         178 :   case 1078: /* grant_role_opt_list: grant_role_opt  */
   40188             : #line 8064 "gram.y"
   40189             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   40190             : #line 40191 "gram.c"
   40191         178 :     break;
   40192             : 
   40193         298 :   case 1079: /* grant_role_opt: ColLabel grant_role_opt_value  */
   40194             : #line 8069 "gram.y"
   40195             :                         {
   40196             :                 (yyval.defelt) = makeDefElem(pstrdup((yyvsp[-1].str)), (yyvsp[0].node), (yylsp[-1]));
   40197             :             }
   40198             : #line 40199 "gram.c"
   40199         298 :     break;
   40200             : 
   40201          72 :   case 1080: /* grant_role_opt_value: OPTION  */
   40202             : #line 8075 "gram.y"
   40203             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40204             : #line 40205 "gram.c"
   40205          72 :     break;
   40206             : 
   40207         112 :   case 1081: /* grant_role_opt_value: TRUE_P  */
   40208             : #line 8076 "gram.y"
   40209             :                                         { (yyval.node) = (Node *) makeBoolean(true); }
   40210             : #line 40211 "gram.c"
   40211         112 :     break;
   40212             : 
   40213         114 :   case 1082: /* grant_role_opt_value: FALSE_P  */
   40214             : #line 8077 "gram.y"
   40215             :                                         { (yyval.node) = (Node *) makeBoolean(false); }
   40216             : #line 40217 "gram.c"
   40217         114 :     break;
   40218             : 
   40219         138 :   case 1083: /* opt_granted_by: GRANTED BY RoleSpec  */
   40220             : #line 8080 "gram.y"
   40221             :                                                                                 { (yyval.rolespec) = (yyvsp[0].rolespec); }
   40222             : #line 40223 "gram.c"
   40223         138 :     break;
   40224             : 
   40225       22132 :   case 1084: /* opt_granted_by: %empty  */
   40226             : #line 8081 "gram.y"
   40227             :                                                                                                         { (yyval.rolespec) = NULL; }
   40228             : #line 40229 "gram.c"
   40229       22132 :     break;
   40230             : 
   40231         190 :   case 1085: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction  */
   40232             : #line 8092 "gram.y"
   40233             :                                 {
   40234             :                     AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
   40235             : 
   40236             :                     n->options = (yyvsp[-1].list);
   40237             :                     n->action = (GrantStmt *) (yyvsp[0].node);
   40238             :                     (yyval.node) = (Node *) n;
   40239             :                 }
   40240             : #line 40241 "gram.c"
   40241         190 :     break;
   40242             : 
   40243         128 :   case 1086: /* DefACLOptionList: DefACLOptionList DefACLOption  */
   40244             : #line 8102 "gram.y"
   40245             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   40246             : #line 40247 "gram.c"
   40247         128 :     break;
   40248             : 
   40249         190 :   case 1087: /* DefACLOptionList: %empty  */
   40250             : #line 8103 "gram.y"
   40251             :                                                                                         { (yyval.list) = NIL; }
   40252             : #line 40253 "gram.c"
   40253         190 :     break;
   40254             : 
   40255          60 :   case 1088: /* DefACLOption: IN_P SCHEMA name_list  */
   40256             : #line 8108 "gram.y"
   40257             :                                 {
   40258             :                     (yyval.defelt) = makeDefElem("schemas", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40259             :                 }
   40260             : #line 40261 "gram.c"
   40261          60 :     break;
   40262             : 
   40263          68 :   case 1089: /* DefACLOption: FOR ROLE role_list  */
   40264             : #line 8112 "gram.y"
   40265             :                                 {
   40266             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40267             :                 }
   40268             : #line 40269 "gram.c"
   40269          68 :     break;
   40270             : 
   40271           0 :   case 1090: /* DefACLOption: FOR USER role_list  */
   40272             : #line 8116 "gram.y"
   40273             :                                 {
   40274             :                     (yyval.defelt) = makeDefElem("roles", (Node *) (yyvsp[0].list), (yylsp[-2]));
   40275             :                 }
   40276             : #line 40277 "gram.c"
   40277           0 :     break;
   40278             : 
   40279         124 :   case 1091: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option  */
   40280             : #line 8128 "gram.y"
   40281             :                                 {
   40282             :                     GrantStmt *n = makeNode(GrantStmt);
   40283             : 
   40284             :                     n->is_grant = true;
   40285             :                     n->privileges = (yyvsp[-5].list);
   40286             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40287             :                     n->objtype = (yyvsp[-3].ival);
   40288             :                     n->objects = NIL;
   40289             :                     n->grantees = (yyvsp[-1].list);
   40290             :                     n->grant_option = (yyvsp[0].boolean);
   40291             :                     (yyval.node) = (Node *) n;
   40292             :                 }
   40293             : #line 40294 "gram.c"
   40294         124 :     break;
   40295             : 
   40296          66 :   case 1092: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40297             : #line 8142 "gram.y"
   40298             :                                 {
   40299             :                     GrantStmt *n = makeNode(GrantStmt);
   40300             : 
   40301             :                     n->is_grant = false;
   40302             :                     n->grant_option = false;
   40303             :                     n->privileges = (yyvsp[-5].list);
   40304             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40305             :                     n->objtype = (yyvsp[-3].ival);
   40306             :                     n->objects = NIL;
   40307             :                     n->grantees = (yyvsp[-1].list);
   40308             :                     n->behavior = (yyvsp[0].dbehavior);
   40309             :                     (yyval.node) = (Node *) n;
   40310             :                 }
   40311             : #line 40312 "gram.c"
   40312          66 :     break;
   40313             : 
   40314           0 :   case 1093: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior  */
   40315             : #line 8157 "gram.y"
   40316             :                                 {
   40317             :                     GrantStmt *n = makeNode(GrantStmt);
   40318             : 
   40319             :                     n->is_grant = false;
   40320             :                     n->grant_option = true;
   40321             :                     n->privileges = (yyvsp[-5].list);
   40322             :                     n->targtype = ACL_TARGET_DEFAULTS;
   40323             :                     n->objtype = (yyvsp[-3].ival);
   40324             :                     n->objects = NIL;
   40325             :                     n->grantees = (yyvsp[-1].list);
   40326             :                     n->behavior = (yyvsp[0].dbehavior);
   40327             :                     (yyval.node) = (Node *) n;
   40328             :                 }
   40329             : #line 40330 "gram.c"
   40330           0 :     break;
   40331             : 
   40332          78 :   case 1094: /* defacl_privilege_target: TABLES  */
   40333             : #line 8173 "gram.y"
   40334             :                                                 { (yyval.ival) = OBJECT_TABLE; }
   40335             : #line 40336 "gram.c"
   40336          78 :     break;
   40337             : 
   40338          16 :   case 1095: /* defacl_privilege_target: FUNCTIONS  */
   40339             : #line 8174 "gram.y"
   40340             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40341             : #line 40342 "gram.c"
   40342          16 :     break;
   40343             : 
   40344           6 :   case 1096: /* defacl_privilege_target: ROUTINES  */
   40345             : #line 8175 "gram.y"
   40346             :                                                 { (yyval.ival) = OBJECT_FUNCTION; }
   40347             : #line 40348 "gram.c"
   40348           6 :     break;
   40349             : 
   40350           6 :   case 1097: /* defacl_privilege_target: SEQUENCES  */
   40351             : #line 8176 "gram.y"
   40352             :                                                 { (yyval.ival) = OBJECT_SEQUENCE; }
   40353             : #line 40354 "gram.c"
   40354           6 :     break;
   40355             : 
   40356          18 :   case 1098: /* defacl_privilege_target: TYPES_P  */
   40357             : #line 8177 "gram.y"
   40358             :                                                 { (yyval.ival) = OBJECT_TYPE; }
   40359             : #line 40360 "gram.c"
   40360          18 :     break;
   40361             : 
   40362          36 :   case 1099: /* defacl_privilege_target: SCHEMAS  */
   40363             : #line 8178 "gram.y"
   40364             :                                                 { (yyval.ival) = OBJECT_SCHEMA; }
   40365             : #line 40366 "gram.c"
   40366          36 :     break;
   40367             : 
   40368          30 :   case 1100: /* defacl_privilege_target: LARGE_P OBJECTS_P  */
   40369             : #line 8179 "gram.y"
   40370             :                                                 { (yyval.ival) = OBJECT_LARGEOBJECT; }
   40371             : #line 40372 "gram.c"
   40372          30 :     break;
   40373             : 
   40374        6848 :   case 1101: /* 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  */
   40375             : #line 8194 "gram.y"
   40376             :                                 {
   40377             :                     IndexStmt *n = makeNode(IndexStmt);
   40378             : 
   40379             :                     n->unique = (yyvsp[-14].boolean);
   40380             :                     n->concurrent = (yyvsp[-12].boolean);
   40381             :                     n->idxname = (yyvsp[-11].str);
   40382             :                     n->relation = (yyvsp[-9].range);
   40383             :                     n->accessMethod = (yyvsp[-8].str);
   40384             :                     n->indexParams = (yyvsp[-6].list);
   40385             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40386             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40387             :                     n->options = (yyvsp[-2].list);
   40388             :                     n->tableSpace = (yyvsp[-1].str);
   40389             :                     n->whereClause = (yyvsp[0].node);
   40390             :                     n->excludeOpNames = NIL;
   40391             :                     n->idxcomment = NULL;
   40392             :                     n->indexOid = InvalidOid;
   40393             :                     n->oldNumber = InvalidRelFileNumber;
   40394             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40395             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40396             :                     n->primary = false;
   40397             :                     n->isconstraint = false;
   40398             :                     n->deferrable = false;
   40399             :                     n->initdeferred = false;
   40400             :                     n->transformed = false;
   40401             :                     n->if_not_exists = false;
   40402             :                     n->reset_default_tblspc = false;
   40403             :                     (yyval.node) = (Node *) n;
   40404             :                 }
   40405             : #line 40406 "gram.c"
   40406        6848 :     break;
   40407             : 
   40408          18 :   case 1102: /* 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  */
   40409             : #line 8226 "gram.y"
   40410             :                                 {
   40411             :                     IndexStmt *n = makeNode(IndexStmt);
   40412             : 
   40413             :                     n->unique = (yyvsp[-17].boolean);
   40414             :                     n->concurrent = (yyvsp[-15].boolean);
   40415             :                     n->idxname = (yyvsp[-11].str);
   40416             :                     n->relation = (yyvsp[-9].range);
   40417             :                     n->accessMethod = (yyvsp[-8].str);
   40418             :                     n->indexParams = (yyvsp[-6].list);
   40419             :                     n->indexIncludingParams = (yyvsp[-4].list);
   40420             :                     n->nulls_not_distinct = !(yyvsp[-3].boolean);
   40421             :                     n->options = (yyvsp[-2].list);
   40422             :                     n->tableSpace = (yyvsp[-1].str);
   40423             :                     n->whereClause = (yyvsp[0].node);
   40424             :                     n->excludeOpNames = NIL;
   40425             :                     n->idxcomment = NULL;
   40426             :                     n->indexOid = InvalidOid;
   40427             :                     n->oldNumber = InvalidRelFileNumber;
   40428             :                     n->oldCreateSubid = InvalidSubTransactionId;
   40429             :                     n->oldFirstRelfilelocatorSubid = InvalidSubTransactionId;
   40430             :                     n->primary = false;
   40431             :                     n->isconstraint = false;
   40432             :                     n->deferrable = false;
   40433             :                     n->initdeferred = false;
   40434             :                     n->transformed = false;
   40435             :                     n->if_not_exists = true;
   40436             :                     n->reset_default_tblspc = false;
   40437             :                     (yyval.node) = (Node *) n;
   40438             :                 }
   40439             : #line 40440 "gram.c"
   40440          18 :     break;
   40441             : 
   40442        1378 :   case 1103: /* opt_unique: UNIQUE  */
   40443             : #line 8258 "gram.y"
   40444             :                                                                                                 { (yyval.boolean) = true; }
   40445             : #line 40446 "gram.c"
   40446        1378 :     break;
   40447             : 
   40448        5494 :   case 1104: /* opt_unique: %empty  */
   40449             : #line 8259 "gram.y"
   40450             :                                                                                                 { (yyval.boolean) = false; }
   40451             : #line 40452 "gram.c"
   40452        5494 :     break;
   40453             : 
   40454        3268 :   case 1105: /* access_method_clause: USING name  */
   40455             : #line 8263 "gram.y"
   40456             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   40457             : #line 40458 "gram.c"
   40458        3268 :     break;
   40459             : 
   40460        3836 :   case 1106: /* access_method_clause: %empty  */
   40461             : #line 8264 "gram.y"
   40462             :                                                                                                 { (yyval.str) = DEFAULT_INDEX_TYPE; }
   40463             : #line 40464 "gram.c"
   40464        3836 :     break;
   40465             : 
   40466        8294 :   case 1107: /* index_params: index_elem  */
   40467             : #line 8267 "gram.y"
   40468             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40469             : #line 40470 "gram.c"
   40470        8294 :     break;
   40471             : 
   40472        2322 :   case 1108: /* index_params: index_params ',' index_elem  */
   40473             : #line 8268 "gram.y"
   40474             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40475             : #line 40476 "gram.c"
   40476        2322 :     break;
   40477             : 
   40478       11224 :   case 1109: /* index_elem_options: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order  */
   40479             : #line 8274 "gram.y"
   40480             :                 {
   40481             :             (yyval.ielem) = makeNode(IndexElem);
   40482             :             (yyval.ielem)->name = NULL;
   40483             :             (yyval.ielem)->expr = NULL;
   40484             :             (yyval.ielem)->indexcolname = NULL;
   40485             :             (yyval.ielem)->collation = (yyvsp[-3].list);
   40486             :             (yyval.ielem)->opclass = (yyvsp[-2].list);
   40487             :             (yyval.ielem)->opclassopts = NIL;
   40488             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40489             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40490             :         }
   40491             : #line 40492 "gram.c"
   40492       11224 :     break;
   40493             : 
   40494         142 :   case 1110: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order  */
   40495             : #line 8286 "gram.y"
   40496             :                 {
   40497             :             (yyval.ielem) = makeNode(IndexElem);
   40498             :             (yyval.ielem)->name = NULL;
   40499             :             (yyval.ielem)->expr = NULL;
   40500             :             (yyval.ielem)->indexcolname = NULL;
   40501             :             (yyval.ielem)->collation = (yyvsp[-4].list);
   40502             :             (yyval.ielem)->opclass = (yyvsp[-3].list);
   40503             :             (yyval.ielem)->opclassopts = (yyvsp[-2].list);
   40504             :             (yyval.ielem)->ordering = (yyvsp[-1].ival);
   40505             :             (yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
   40506             :         }
   40507             : #line 40508 "gram.c"
   40508         142 :     break;
   40509             : 
   40510       10242 :   case 1111: /* index_elem: ColId index_elem_options  */
   40511             : #line 8305 "gram.y"
   40512             :                                 {
   40513             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40514             :                     (yyval.ielem)->name = (yyvsp[-1].str);
   40515             :                 }
   40516             : #line 40517 "gram.c"
   40517       10242 :     break;
   40518             : 
   40519         612 :   case 1112: /* index_elem: func_expr_windowless index_elem_options  */
   40520             : #line 8310 "gram.y"
   40521             :                                 {
   40522             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40523             :                     (yyval.ielem)->expr = (yyvsp[-1].node);
   40524             :                 }
   40525             : #line 40526 "gram.c"
   40526         612 :     break;
   40527             : 
   40528         512 :   case 1113: /* index_elem: '(' a_expr ')' index_elem_options  */
   40529             : #line 8315 "gram.y"
   40530             :                                 {
   40531             :                     (yyval.ielem) = (yyvsp[0].ielem);
   40532             :                     (yyval.ielem)->expr = (yyvsp[-2].node);
   40533             :                 }
   40534             : #line 40535 "gram.c"
   40535         512 :     break;
   40536             : 
   40537         232 :   case 1114: /* opt_include: INCLUDE '(' index_including_params ')'  */
   40538             : #line 8321 "gram.y"
   40539             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   40540             : #line 40541 "gram.c"
   40541         232 :     break;
   40542             : 
   40543        6634 :   case 1115: /* opt_include: %empty  */
   40544             : #line 8322 "gram.y"
   40545             :                                                                                                 { (yyval.list) = NIL; }
   40546             : #line 40547 "gram.c"
   40547        6634 :     break;
   40548             : 
   40549         232 :   case 1116: /* index_including_params: index_elem  */
   40550             : #line 8325 "gram.y"
   40551             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].ielem)); }
   40552             : #line 40553 "gram.c"
   40553         232 :     break;
   40554             : 
   40555         170 :   case 1117: /* index_including_params: index_including_params ',' index_elem  */
   40556             : #line 8326 "gram.y"
   40557             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
   40558             : #line 40559 "gram.c"
   40559         170 :     break;
   40560             : 
   40561         192 :   case 1118: /* opt_collate: COLLATE any_name  */
   40562             : #line 8329 "gram.y"
   40563             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   40564             : #line 40565 "gram.c"
   40565         192 :     break;
   40566             : 
   40567       16792 :   case 1119: /* opt_collate: %empty  */
   40568             : #line 8330 "gram.y"
   40569             :                                                                                                 { (yyval.list) = NIL; }
   40570             : #line 40571 "gram.c"
   40571       16792 :     break;
   40572             : 
   40573        1818 :   case 1120: /* opt_asc_desc: ASC  */
   40574             : #line 8334 "gram.y"
   40575             :                                                                         { (yyval.ival) = SORTBY_ASC; }
   40576             : #line 40577 "gram.c"
   40577        1818 :     break;
   40578             : 
   40579        3516 :   case 1121: /* opt_asc_desc: DESC  */
   40580             : #line 8335 "gram.y"
   40581             :                                                                                 { (yyval.ival) = SORTBY_DESC; }
   40582             : #line 40583 "gram.c"
   40583        3516 :     break;
   40584             : 
   40585      116742 :   case 1122: /* opt_asc_desc: %empty  */
   40586             : #line 8336 "gram.y"
   40587             :                                                                                 { (yyval.ival) = SORTBY_DEFAULT; }
   40588             : #line 40589 "gram.c"
   40589      116742 :     break;
   40590             : 
   40591         342 :   case 1123: /* opt_nulls_order: NULLS_LA FIRST_P  */
   40592             : #line 8339 "gram.y"
   40593             :                                                         { (yyval.ival) = SORTBY_NULLS_FIRST; }
   40594             : #line 40595 "gram.c"
   40595         342 :     break;
   40596             : 
   40597        1732 :   case 1124: /* opt_nulls_order: NULLS_LA LAST_P  */
   40598             : #line 8340 "gram.y"
   40599             :                                                                         { (yyval.ival) = SORTBY_NULLS_LAST; }
   40600             : #line 40601 "gram.c"
   40601        1732 :     break;
   40602             : 
   40603      120222 :   case 1125: /* opt_nulls_order: %empty  */
   40604             : #line 8341 "gram.y"
   40605             :                                                                                 { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
   40606             : #line 40607 "gram.c"
   40607      120222 :     break;
   40608             : 
   40609       23434 :   case 1126: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body  */
   40610             : #line 8359 "gram.y"
   40611             :                                 {
   40612             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40613             : 
   40614             :                     n->is_procedure = false;
   40615             :                     n->replace = (yyvsp[-7].boolean);
   40616             :                     n->funcname = (yyvsp[-5].list);
   40617             :                     n->parameters = (yyvsp[-4].list);
   40618             :                     n->returnType = (yyvsp[-2].typnam);
   40619             :                     n->options = (yyvsp[-1].list);
   40620             :                     n->sql_body = (yyvsp[0].node);
   40621             :                     (yyval.node) = (Node *) n;
   40622             :                 }
   40623             : #line 40624 "gram.c"
   40624       23434 :     break;
   40625             : 
   40626         202 :   case 1127: /* 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  */
   40627             : #line 8373 "gram.y"
   40628             :                                 {
   40629             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40630             : 
   40631             :                     n->is_procedure = false;
   40632             :                     n->replace = (yyvsp[-10].boolean);
   40633             :                     n->funcname = (yyvsp[-8].list);
   40634             :                     n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list), yyscanner);
   40635             :                     n->returnType = TableFuncTypeName((yyvsp[-3].list));
   40636             :                     n->returnType->location = (yylsp[-5]);
   40637             :                     n->options = (yyvsp[-1].list);
   40638             :                     n->sql_body = (yyvsp[0].node);
   40639             :                     (yyval.node) = (Node *) n;
   40640             :                 }
   40641             : #line 40642 "gram.c"
   40642         202 :     break;
   40643             : 
   40644         488 :   case 1128: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   40645             : #line 8388 "gram.y"
   40646             :                                 {
   40647             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40648             : 
   40649             :                     n->is_procedure = false;
   40650             :                     n->replace = (yyvsp[-5].boolean);
   40651             :                     n->funcname = (yyvsp[-3].list);
   40652             :                     n->parameters = (yyvsp[-2].list);
   40653             :                     n->returnType = NULL;
   40654             :                     n->options = (yyvsp[-1].list);
   40655             :                     n->sql_body = (yyvsp[0].node);
   40656             :                     (yyval.node) = (Node *) n;
   40657             :                 }
   40658             : #line 40659 "gram.c"
   40659         488 :     break;
   40660             : 
   40661         392 :   case 1129: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body  */
   40662             : #line 8402 "gram.y"
   40663             :                                 {
   40664             :                     CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
   40665             : 
   40666             :                     n->is_procedure = true;
   40667             :                     n->replace = (yyvsp[-5].boolean);
   40668             :                     n->funcname = (yyvsp[-3].list);
   40669             :                     n->parameters = (yyvsp[-2].list);
   40670             :                     n->returnType = NULL;
   40671             :                     n->options = (yyvsp[-1].list);
   40672             :                     n->sql_body = (yyvsp[0].node);
   40673             :                     (yyval.node) = (Node *) n;
   40674             :                 }
   40675             : #line 40676 "gram.c"
   40676         392 :     break;
   40677             : 
   40678        9814 :   case 1130: /* opt_or_replace: OR REPLACE  */
   40679             : #line 8417 "gram.y"
   40680             :                                                                                                 { (yyval.boolean) = true; }
   40681             : #line 40682 "gram.c"
   40682        9814 :     break;
   40683             : 
   40684       20402 :   case 1131: /* opt_or_replace: %empty  */
   40685             : #line 8418 "gram.y"
   40686             :                                                                                                 { (yyval.boolean) = false; }
   40687             : #line 40688 "gram.c"
   40688       20402 :     break;
   40689             : 
   40690       10236 :   case 1132: /* func_args: '(' func_args_list ')'  */
   40691             : #line 8421 "gram.y"
   40692             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   40693             : #line 40694 "gram.c"
   40694       10236 :     break;
   40695             : 
   40696        5816 :   case 1133: /* func_args: '(' ')'  */
   40697             : #line 8422 "gram.y"
   40698             :                                                                                                 { (yyval.list) = NIL; }
   40699             : #line 40700 "gram.c"
   40700        5816 :     break;
   40701             : 
   40702       10236 :   case 1134: /* func_args_list: func_arg  */
   40703             : #line 8426 "gram.y"
   40704             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   40705             : #line 40706 "gram.c"
   40706       10236 :     break;
   40707             : 
   40708        8262 :   case 1135: /* func_args_list: func_args_list ',' func_arg  */
   40709             : #line 8427 "gram.y"
   40710             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   40711             : #line 40712 "gram.c"
   40712        8262 :     break;
   40713             : 
   40714       12290 :   case 1136: /* function_with_argtypes_list: function_with_argtypes  */
   40715             : #line 8431 "gram.y"
   40716             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   40717             : #line 40718 "gram.c"
   40718       12290 :     break;
   40719             : 
   40720          84 :   case 1137: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes  */
   40721             : #line 8433 "gram.y"
   40722             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   40723             : #line 40724 "gram.c"
   40724          84 :     break;
   40725             : 
   40726       16052 :   case 1138: /* function_with_argtypes: func_name func_args  */
   40727             : #line 8438 "gram.y"
   40728             :                                 {
   40729             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40730             : 
   40731             :                     n->objname = (yyvsp[-1].list);
   40732             :                     n->objargs = extractArgTypes((yyvsp[0].list));
   40733             :                     n->objfuncargs = (yyvsp[0].list);
   40734             :                     (yyval.objwithargs) = n;
   40735             :                 }
   40736             : #line 40737 "gram.c"
   40737       16052 :     break;
   40738             : 
   40739           0 :   case 1139: /* function_with_argtypes: type_func_name_keyword  */
   40740             : #line 8452 "gram.y"
   40741             :                                 {
   40742             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40743             : 
   40744             :                     n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
   40745             :                     n->args_unspecified = true;
   40746             :                     (yyval.objwithargs) = n;
   40747             :                 }
   40748             : #line 40749 "gram.c"
   40749           0 :     break;
   40750             : 
   40751         346 :   case 1140: /* function_with_argtypes: ColId  */
   40752             : #line 8460 "gram.y"
   40753             :                                 {
   40754             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40755             : 
   40756             :                     n->objname = list_make1(makeString((yyvsp[0].str)));
   40757             :                     n->args_unspecified = true;
   40758             :                     (yyval.objwithargs) = n;
   40759             :                 }
   40760             : #line 40761 "gram.c"
   40761         346 :     break;
   40762             : 
   40763          28 :   case 1141: /* function_with_argtypes: ColId indirection  */
   40764             : #line 8468 "gram.y"
   40765             :                                 {
   40766             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   40767             : 
   40768             :                     n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   40769             :                                                   yyscanner);
   40770             :                     n->args_unspecified = true;
   40771             :                     (yyval.objwithargs) = n;
   40772             :                 }
   40773             : #line 40774 "gram.c"
   40774          28 :     break;
   40775             : 
   40776       19826 :   case 1142: /* func_args_with_defaults: '(' func_args_with_defaults_list ')'  */
   40777             : #line 8483 "gram.y"
   40778             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   40779             : #line 40780 "gram.c"
   40780       19826 :     break;
   40781             : 
   40782        4690 :   case 1143: /* func_args_with_defaults: '(' ')'  */
   40783             : #line 8484 "gram.y"
   40784             :                                                                                                 { (yyval.list) = NIL; }
   40785             : #line 40786 "gram.c"
   40786        4690 :     break;
   40787             : 
   40788       19826 :   case 1144: /* func_args_with_defaults_list: func_arg_with_default  */
   40789             : #line 8488 "gram.y"
   40790             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   40791             : #line 40792 "gram.c"
   40792       19826 :     break;
   40793             : 
   40794       33152 :   case 1145: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default  */
   40795             : #line 8490 "gram.y"
   40796             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   40797             : #line 40798 "gram.c"
   40798       33152 :     break;
   40799             : 
   40800       16096 :   case 1146: /* func_arg: arg_class param_name func_type  */
   40801             : #line 8505 "gram.y"
   40802             :                                 {
   40803             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40804             : 
   40805             :                     n->name = (yyvsp[-1].str);
   40806             :                     n->argType = (yyvsp[0].typnam);
   40807             :                     n->mode = (yyvsp[-2].fun_param_mode);
   40808             :                     n->defexpr = NULL;
   40809             :                     n->location = (yylsp[-2]);
   40810             :                     (yyval.fun_param) = n;
   40811             :                 }
   40812             : #line 40813 "gram.c"
   40813       16096 :     break;
   40814             : 
   40815         412 :   case 1147: /* func_arg: param_name arg_class func_type  */
   40816             : #line 8516 "gram.y"
   40817             :                                 {
   40818             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40819             : 
   40820             :                     n->name = (yyvsp[-2].str);
   40821             :                     n->argType = (yyvsp[0].typnam);
   40822             :                     n->mode = (yyvsp[-1].fun_param_mode);
   40823             :                     n->defexpr = NULL;
   40824             :                     n->location = (yylsp[-2]);
   40825             :                     (yyval.fun_param) = n;
   40826             :                 }
   40827             : #line 40828 "gram.c"
   40828         412 :     break;
   40829             : 
   40830       15630 :   case 1148: /* func_arg: param_name func_type  */
   40831             : #line 8527 "gram.y"
   40832             :                                 {
   40833             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40834             : 
   40835             :                     n->name = (yyvsp[-1].str);
   40836             :                     n->argType = (yyvsp[0].typnam);
   40837             :                     n->mode = FUNC_PARAM_DEFAULT;
   40838             :                     n->defexpr = NULL;
   40839             :                     n->location = (yylsp[-1]);
   40840             :                     (yyval.fun_param) = n;
   40841             :                 }
   40842             : #line 40843 "gram.c"
   40843       15630 :     break;
   40844             : 
   40845         354 :   case 1149: /* func_arg: arg_class func_type  */
   40846             : #line 8538 "gram.y"
   40847             :                                 {
   40848             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40849             : 
   40850             :                     n->name = NULL;
   40851             :                     n->argType = (yyvsp[0].typnam);
   40852             :                     n->mode = (yyvsp[-1].fun_param_mode);
   40853             :                     n->defexpr = NULL;
   40854             :                     n->location = (yylsp[-1]);
   40855             :                     (yyval.fun_param) = n;
   40856             :                 }
   40857             : #line 40858 "gram.c"
   40858         354 :     break;
   40859             : 
   40860       40082 :   case 1150: /* func_arg: func_type  */
   40861             : #line 8549 "gram.y"
   40862             :                                 {
   40863             :                     FunctionParameter *n = makeNode(FunctionParameter);
   40864             : 
   40865             :                     n->name = NULL;
   40866             :                     n->argType = (yyvsp[0].typnam);
   40867             :                     n->mode = FUNC_PARAM_DEFAULT;
   40868             :                     n->defexpr = NULL;
   40869             :                     n->location = (yylsp[0]);
   40870             :                     (yyval.fun_param) = n;
   40871             :                 }
   40872             : #line 40873 "gram.c"
   40873       40082 :     break;
   40874             : 
   40875        3964 :   case 1151: /* arg_class: IN_P  */
   40876             : #line 8562 "gram.y"
   40877             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
   40878             : #line 40879 "gram.c"
   40879        3964 :     break;
   40880             : 
   40881       12090 :   case 1152: /* arg_class: OUT_P  */
   40882             : #line 8563 "gram.y"
   40883             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
   40884             : #line 40885 "gram.c"
   40885       12090 :     break;
   40886             : 
   40887         218 :   case 1153: /* arg_class: INOUT  */
   40888             : #line 8564 "gram.y"
   40889             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   40890             : #line 40891 "gram.c"
   40891         218 :     break;
   40892             : 
   40893           0 :   case 1154: /* arg_class: IN_P OUT_P  */
   40894             : #line 8565 "gram.y"
   40895             :                                                                                 { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
   40896             : #line 40897 "gram.c"
   40897           0 :     break;
   40898             : 
   40899         590 :   case 1155: /* arg_class: VARIADIC  */
   40900             : #line 8566 "gram.y"
   40901             :                                                                                         { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
   40902             : #line 40903 "gram.c"
   40903         590 :     break;
   40904             : 
   40905       23434 :   case 1157: /* func_return: func_type  */
   40906             : #line 8577 "gram.y"
   40907             :                                 {
   40908             :                     /* We can catch over-specified results here if we want to,
   40909             :                      * but for now better to silently swallow typmod, etc.
   40910             :                      * - thomas 2000-03-22
   40911             :                      */
   40912             :                     (yyval.typnam) = (yyvsp[0].typnam);
   40913             :                 }
   40914             : #line 40915 "gram.c"
   40915       23434 :     break;
   40916             : 
   40917      117304 :   case 1158: /* func_type: Typename  */
   40918             : #line 8591 "gram.y"
   40919             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   40920             : #line 40921 "gram.c"
   40921      117304 :     break;
   40922             : 
   40923          18 :   case 1159: /* func_type: type_function_name attrs '%' TYPE_P  */
   40924             : #line 8593 "gram.y"
   40925             :                                 {
   40926             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   40927             :                     (yyval.typnam)->pct_type = true;
   40928             :                     (yyval.typnam)->location = (yylsp[-3]);
   40929             :                 }
   40930             : #line 40931 "gram.c"
   40931          18 :     break;
   40932             : 
   40933           6 :   case 1160: /* func_type: SETOF type_function_name attrs '%' TYPE_P  */
   40934             : #line 8599 "gram.y"
   40935             :                                 {
   40936             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
   40937             :                     (yyval.typnam)->pct_type = true;
   40938             :                     (yyval.typnam)->setof = true;
   40939             :                     (yyval.typnam)->location = (yylsp[-3]);
   40940             :                 }
   40941             : #line 40942 "gram.c"
   40942           6 :     break;
   40943             : 
   40944       46678 :   case 1161: /* func_arg_with_default: func_arg  */
   40945             : #line 8609 "gram.y"
   40946             :                                 {
   40947             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   40948             :                 }
   40949             : #line 40950 "gram.c"
   40950       46678 :     break;
   40951             : 
   40952        6104 :   case 1162: /* func_arg_with_default: func_arg DEFAULT a_expr  */
   40953             : #line 8613 "gram.y"
   40954             :                                 {
   40955             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   40956             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   40957             :                 }
   40958             : #line 40959 "gram.c"
   40959        6104 :     break;
   40960             : 
   40961         196 :   case 1163: /* func_arg_with_default: func_arg '=' a_expr  */
   40962             : #line 8618 "gram.y"
   40963             :                                 {
   40964             :                     (yyval.fun_param) = (yyvsp[-2].fun_param);
   40965             :                     (yyval.fun_param)->defexpr = (yyvsp[0].node);
   40966             :                 }
   40967             : #line 40968 "gram.c"
   40968         196 :     break;
   40969             : 
   40970        1098 :   case 1164: /* aggr_arg: func_arg  */
   40971             : #line 8626 "gram.y"
   40972             :                                 {
   40973             :                     if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_DEFAULT ||
   40974             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
   40975             :                           (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
   40976             :                         ereport(ERROR,
   40977             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   40978             :                                  errmsg("aggregates cannot have output arguments"),
   40979             :                                  parser_errposition((yylsp[0]))));
   40980             :                     (yyval.fun_param) = (yyvsp[0].fun_param);
   40981             :                 }
   40982             : #line 40983 "gram.c"
   40983        1098 :     break;
   40984             : 
   40985         170 :   case 1165: /* aggr_args: '(' '*' ')'  */
   40986             : #line 8668 "gram.y"
   40987             :                                 {
   40988             :                     (yyval.list) = list_make2(NIL, makeInteger(-1));
   40989             :                 }
   40990             : #line 40991 "gram.c"
   40991         170 :     break;
   40992             : 
   40993         882 :   case 1166: /* aggr_args: '(' aggr_args_list ')'  */
   40994             : #line 8672 "gram.y"
   40995             :                                 {
   40996             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
   40997             :                 }
   40998             : #line 40999 "gram.c"
   40999         882 :     break;
   41000             : 
   41001           6 :   case 1167: /* aggr_args: '(' ORDER BY aggr_args_list ')'  */
   41002             : #line 8676 "gram.y"
   41003             :                                 {
   41004             :                     (yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
   41005             :                 }
   41006             : #line 41007 "gram.c"
   41007           6 :     break;
   41008             : 
   41009          40 :   case 1168: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')'  */
   41010             : #line 8680 "gram.y"
   41011             :                                 {
   41012             :                     /* this is the only case requiring consistency checking */
   41013             :                     (yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
   41014             :                 }
   41015             : #line 41016 "gram.c"
   41016          40 :     break;
   41017             : 
   41018         968 :   case 1169: /* aggr_args_list: aggr_arg  */
   41019             : #line 8687 "gram.y"
   41020             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
   41021             : #line 41022 "gram.c"
   41022         968 :     break;
   41023             : 
   41024         130 :   case 1170: /* aggr_args_list: aggr_args_list ',' aggr_arg  */
   41025             : #line 8688 "gram.y"
   41026             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
   41027             : #line 41028 "gram.c"
   41028         130 :     break;
   41029             : 
   41030         460 :   case 1171: /* aggregate_with_argtypes: func_name aggr_args  */
   41031             : #line 8693 "gram.y"
   41032             :                                 {
   41033             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41034             : 
   41035             :                     n->objname = (yyvsp[-1].list);
   41036             :                     n->objargs = extractAggrArgTypes((yyvsp[0].list));
   41037             :                     n->objfuncargs = (List *) linitial((yyvsp[0].list));
   41038             :                     (yyval.objwithargs) = n;
   41039             :                 }
   41040             : #line 41041 "gram.c"
   41041         460 :     break;
   41042             : 
   41043         104 :   case 1172: /* aggregate_with_argtypes_list: aggregate_with_argtypes  */
   41044             : #line 8704 "gram.y"
   41045             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41046             : #line 41047 "gram.c"
   41047         104 :     break;
   41048             : 
   41049           0 :   case 1173: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes  */
   41050             : #line 8706 "gram.y"
   41051             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41052             : #line 41053 "gram.c"
   41053           0 :     break;
   41054             : 
   41055          54 :   case 1175: /* opt_createfunc_opt_list: %empty  */
   41056             : #line 8711 "gram.y"
   41057             :                                     { (yyval.list) = NIL; }
   41058             : #line 41059 "gram.c"
   41059          54 :     break;
   41060             : 
   41061       24462 :   case 1176: /* createfunc_opt_list: createfunc_opt_item  */
   41062             : #line 8716 "gram.y"
   41063             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41064             : #line 41065 "gram.c"
   41065       24462 :     break;
   41066             : 
   41067       63770 :   case 1177: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item  */
   41068             : #line 8717 "gram.y"
   41069             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41070             : #line 41071 "gram.c"
   41071       63770 :     break;
   41072             : 
   41073         368 :   case 1178: /* common_func_opt_item: CALLED ON NULL_P INPUT_P  */
   41074             : #line 8725 "gram.y"
   41075             :                                 {
   41076             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(false), (yylsp[-3]));
   41077             :                 }
   41078             : #line 41079 "gram.c"
   41079         368 :     break;
   41080             : 
   41081         864 :   case 1179: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P  */
   41082             : #line 8729 "gram.y"
   41083             :                                 {
   41084             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[-4]));
   41085             :                 }
   41086             : #line 41087 "gram.c"
   41087         864 :     break;
   41088             : 
   41089       12560 :   case 1180: /* common_func_opt_item: STRICT_P  */
   41090             : #line 8733 "gram.y"
   41091             :                                 {
   41092             :                     (yyval.defelt) = makeDefElem("strict", (Node *) makeBoolean(true), (yylsp[0]));
   41093             :                 }
   41094             : #line 41095 "gram.c"
   41095       12560 :     break;
   41096             : 
   41097        9166 :   case 1181: /* common_func_opt_item: IMMUTABLE  */
   41098             : #line 8737 "gram.y"
   41099             :                                 {
   41100             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("immutable"), (yylsp[0]));
   41101             :                 }
   41102             : #line 41103 "gram.c"
   41103        9166 :     break;
   41104             : 
   41105        2486 :   case 1182: /* common_func_opt_item: STABLE  */
   41106             : #line 8741 "gram.y"
   41107             :                                 {
   41108             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("stable"), (yylsp[0]));
   41109             :                 }
   41110             : #line 41111 "gram.c"
   41111        2486 :     break;
   41112             : 
   41113        1644 :   case 1183: /* common_func_opt_item: VOLATILE  */
   41114             : #line 8745 "gram.y"
   41115             :                                 {
   41116             :                     (yyval.defelt) = makeDefElem("volatility", (Node *) makeString("volatile"), (yylsp[0]));
   41117             :                 }
   41118             : #line 41119 "gram.c"
   41119        1644 :     break;
   41120             : 
   41121           0 :   case 1184: /* common_func_opt_item: EXTERNAL SECURITY DEFINER  */
   41122             : #line 8749 "gram.y"
   41123             :                                 {
   41124             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-2]));
   41125             :                 }
   41126             : #line 41127 "gram.c"
   41127           0 :     break;
   41128             : 
   41129           0 :   case 1185: /* common_func_opt_item: EXTERNAL SECURITY INVOKER  */
   41130             : #line 8753 "gram.y"
   41131             :                                 {
   41132             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-2]));
   41133             :                 }
   41134             : #line 41135 "gram.c"
   41135           0 :     break;
   41136             : 
   41137          58 :   case 1186: /* common_func_opt_item: SECURITY DEFINER  */
   41138             : #line 8757 "gram.y"
   41139             :                                 {
   41140             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(true), (yylsp[-1]));
   41141             :                 }
   41142             : #line 41143 "gram.c"
   41143          58 :     break;
   41144             : 
   41145          18 :   case 1187: /* common_func_opt_item: SECURITY INVOKER  */
   41146             : #line 8761 "gram.y"
   41147             :                                 {
   41148             :                     (yyval.defelt) = makeDefElem("security", (Node *) makeBoolean(false), (yylsp[-1]));
   41149             :                 }
   41150             : #line 41151 "gram.c"
   41151          18 :     break;
   41152             : 
   41153          50 :   case 1188: /* common_func_opt_item: LEAKPROOF  */
   41154             : #line 8765 "gram.y"
   41155             :                                 {
   41156             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(true), (yylsp[0]));
   41157             :                 }
   41158             : #line 41159 "gram.c"
   41159          50 :     break;
   41160             : 
   41161          12 :   case 1189: /* common_func_opt_item: NOT LEAKPROOF  */
   41162             : #line 8769 "gram.y"
   41163             :                                 {
   41164             :                     (yyval.defelt) = makeDefElem("leakproof", (Node *) makeBoolean(false), (yylsp[-1]));
   41165             :                 }
   41166             : #line 41167 "gram.c"
   41167          12 :     break;
   41168             : 
   41169        4270 :   case 1190: /* common_func_opt_item: COST NumericOnly  */
   41170             : #line 8773 "gram.y"
   41171             :                                 {
   41172             :                     (yyval.defelt) = makeDefElem("cost", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41173             :                 }
   41174             : #line 41175 "gram.c"
   41175        4270 :     break;
   41176             : 
   41177         588 :   case 1191: /* common_func_opt_item: ROWS NumericOnly  */
   41178             : #line 8777 "gram.y"
   41179             :                                 {
   41180             :                     (yyval.defelt) = makeDefElem("rows", (Node *) (yyvsp[0].node), (yylsp[-1]));
   41181             :                 }
   41182             : #line 41183 "gram.c"
   41183         588 :     break;
   41184             : 
   41185         116 :   case 1192: /* common_func_opt_item: SUPPORT any_name  */
   41186             : #line 8781 "gram.y"
   41187             :                                 {
   41188             :                     (yyval.defelt) = makeDefElem("support", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41189             :                 }
   41190             : #line 41191 "gram.c"
   41191         116 :     break;
   41192             : 
   41193         160 :   case 1193: /* common_func_opt_item: FunctionSetResetClause  */
   41194             : #line 8785 "gram.y"
   41195             :                                 {
   41196             :                     /* we abuse the normal content of a DefElem here */
   41197             :                     (yyval.defelt) = makeDefElem("set", (Node *) (yyvsp[0].vsetstmt), (yylsp[0]));
   41198             :                 }
   41199             : #line 41200 "gram.c"
   41200         160 :     break;
   41201             : 
   41202       13018 :   case 1194: /* common_func_opt_item: PARALLEL ColId  */
   41203             : #line 8790 "gram.y"
   41204             :                                 {
   41205             :                     (yyval.defelt) = makeDefElem("parallel", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41206             :                 }
   41207             : #line 41208 "gram.c"
   41208       13018 :     break;
   41209             : 
   41210       18948 :   case 1195: /* createfunc_opt_item: AS func_as  */
   41211             : #line 8797 "gram.y"
   41212             :                                 {
   41213             :                     (yyval.defelt) = makeDefElem("as", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41214             :                 }
   41215             : #line 41216 "gram.c"
   41216       18948 :     break;
   41217             : 
   41218       24442 :   case 1196: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   41219             : #line 8801 "gram.y"
   41220             :                                 {
   41221             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41222             :                 }
   41223             : #line 41224 "gram.c"
   41224       24442 :     break;
   41225             : 
   41226         118 :   case 1197: /* createfunc_opt_item: TRANSFORM transform_type_list  */
   41227             : #line 8805 "gram.y"
   41228             :                                 {
   41229             :                     (yyval.defelt) = makeDefElem("transform", (Node *) (yyvsp[0].list), (yylsp[-1]));
   41230             :                 }
   41231             : #line 41232 "gram.c"
   41232         118 :     break;
   41233             : 
   41234          22 :   case 1198: /* createfunc_opt_item: WINDOW  */
   41235             : #line 8809 "gram.y"
   41236             :                                 {
   41237             :                     (yyval.defelt) = makeDefElem("window", (Node *) makeBoolean(true), (yylsp[0]));
   41238             :                 }
   41239             : #line 41240 "gram.c"
   41240          22 :     break;
   41241             : 
   41242       44702 :   case 1199: /* createfunc_opt_item: common_func_opt_item  */
   41243             : #line 8813 "gram.y"
   41244             :                                 {
   41245             :                     (yyval.defelt) = (yyvsp[0].defelt);
   41246             :                 }
   41247             : #line 41248 "gram.c"
   41248       44702 :     break;
   41249             : 
   41250       15822 :   case 1200: /* func_as: Sconst  */
   41251             : #line 8818 "gram.y"
   41252             :                                                                 { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41253             : #line 41254 "gram.c"
   41254       15822 :     break;
   41255             : 
   41256        3126 :   case 1201: /* func_as: Sconst ',' Sconst  */
   41257             : #line 8820 "gram.y"
   41258             :                                 {
   41259             :                     (yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
   41260             :                 }
   41261             : #line 41262 "gram.c"
   41262        3126 :     break;
   41263             : 
   41264        4784 :   case 1202: /* ReturnStmt: RETURN a_expr  */
   41265             : #line 8826 "gram.y"
   41266             :                                 {
   41267             :                     ReturnStmt *r = makeNode(ReturnStmt);
   41268             : 
   41269             :                     r->returnval = (Node *) (yyvsp[0].node);
   41270             :                     (yyval.node) = (Node *) r;
   41271             :                 }
   41272             : #line 41273 "gram.c"
   41273        4784 :     break;
   41274             : 
   41275        4778 :   case 1203: /* opt_routine_body: ReturnStmt  */
   41276             : #line 8836 "gram.y"
   41277             :                                 {
   41278             :                     (yyval.node) = (yyvsp[0].node);
   41279             :                 }
   41280             : #line 41281 "gram.c"
   41281        4778 :     break;
   41282             : 
   41283         796 :   case 1204: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P  */
   41284             : #line 8840 "gram.y"
   41285             :                                 {
   41286             :                     /*
   41287             :                      * A compound statement is stored as a single-item list
   41288             :                      * containing the list of statements as its member.  That
   41289             :                      * way, the parse analysis code can tell apart an empty
   41290             :                      * body from no body at all.
   41291             :                      */
   41292             :                     (yyval.node) = (Node *) list_make1((yyvsp[-1].list));
   41293             :                 }
   41294             : #line 41295 "gram.c"
   41295         796 :     break;
   41296             : 
   41297       18942 :   case 1205: /* opt_routine_body: %empty  */
   41298             : #line 8850 "gram.y"
   41299             :                                 {
   41300             :                     (yyval.node) = NULL;
   41301             :                 }
   41302             : #line 41303 "gram.c"
   41303       18942 :     break;
   41304             : 
   41305         810 :   case 1206: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';'  */
   41306             : #line 8857 "gram.y"
   41307             :                                 {
   41308             :                     /* As in stmtmulti, discard empty statements */
   41309             :                     if ((yyvsp[-1].node) != NULL)
   41310             :                         (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[-1].node));
   41311             :                     else
   41312             :                         (yyval.list) = (yyvsp[-2].list);
   41313             :                 }
   41314             : #line 41315 "gram.c"
   41315         810 :     break;
   41316             : 
   41317         796 :   case 1207: /* routine_body_stmt_list: %empty  */
   41318             : #line 8865 "gram.y"
   41319             :                                 {
   41320             :                     (yyval.list) = NIL;
   41321             :                 }
   41322             : #line 41323 "gram.c"
   41323         796 :     break;
   41324             : 
   41325         118 :   case 1210: /* transform_type_list: FOR TYPE_P Typename  */
   41326             : #line 8876 "gram.y"
   41327             :                                             { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   41328             : #line 41329 "gram.c"
   41329         118 :     break;
   41330             : 
   41331           4 :   case 1211: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename  */
   41332             : #line 8877 "gram.y"
   41333             :                                                                       { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
   41334             : #line 41335 "gram.c"
   41335           4 :     break;
   41336             : 
   41337         606 :   case 1212: /* opt_definition: WITH definition  */
   41338             : #line 8881 "gram.y"
   41339             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   41340             : #line 41341 "gram.c"
   41341         606 :     break;
   41342             : 
   41343       10270 :   case 1213: /* opt_definition: %empty  */
   41344             : #line 8882 "gram.y"
   41345             :                                                                                                 { (yyval.list) = NIL; }
   41346             : #line 41347 "gram.c"
   41347       10270 :     break;
   41348             : 
   41349         462 :   case 1214: /* table_func_column: param_name func_type  */
   41350             : #line 8886 "gram.y"
   41351             :                                 {
   41352             :                     FunctionParameter *n = makeNode(FunctionParameter);
   41353             : 
   41354             :                     n->name = (yyvsp[-1].str);
   41355             :                     n->argType = (yyvsp[0].typnam);
   41356             :                     n->mode = FUNC_PARAM_TABLE;
   41357             :                     n->defexpr = NULL;
   41358             :                     n->location = (yylsp[-1]);
   41359             :                     (yyval.fun_param) = n;
   41360             :                 }
   41361             : #line 41362 "gram.c"
   41362         462 :     break;
   41363             : 
   41364         202 :   case 1215: /* table_func_column_list: table_func_column  */
   41365             : #line 8900 "gram.y"
   41366             :                                 {
   41367             :                     (yyval.list) = list_make1((yyvsp[0].fun_param));
   41368             :                 }
   41369             : #line 41370 "gram.c"
   41370         202 :     break;
   41371             : 
   41372         260 :   case 1216: /* table_func_column_list: table_func_column_list ',' table_func_column  */
   41373             : #line 8904 "gram.y"
   41374             :                                 {
   41375             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
   41376             :                 }
   41377             : #line 41378 "gram.c"
   41378         260 :     break;
   41379             : 
   41380         654 :   case 1217: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict  */
   41381             : #line 8919 "gram.y"
   41382             :                                 {
   41383             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41384             : 
   41385             :                     n->objtype = OBJECT_FUNCTION;
   41386             :                     n->func = (yyvsp[-2].objwithargs);
   41387             :                     n->actions = (yyvsp[-1].list);
   41388             :                     (yyval.node) = (Node *) n;
   41389             :                 }
   41390             : #line 41391 "gram.c"
   41391         654 :     break;
   41392             : 
   41393          18 :   case 1218: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41394             : #line 8928 "gram.y"
   41395             :                                 {
   41396             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41397             : 
   41398             :                     n->objtype = OBJECT_PROCEDURE;
   41399             :                     n->func = (yyvsp[-2].objwithargs);
   41400             :                     n->actions = (yyvsp[-1].list);
   41401             :                     (yyval.node) = (Node *) n;
   41402             :                 }
   41403             : #line 41404 "gram.c"
   41404          18 :     break;
   41405             : 
   41406           0 :   case 1219: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict  */
   41407             : #line 8937 "gram.y"
   41408             :                                 {
   41409             :                     AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
   41410             : 
   41411             :                     n->objtype = OBJECT_ROUTINE;
   41412             :                     n->func = (yyvsp[-2].objwithargs);
   41413             :                     n->actions = (yyvsp[-1].list);
   41414             :                     (yyval.node) = (Node *) n;
   41415             :                 }
   41416             : #line 41417 "gram.c"
   41417           0 :     break;
   41418             : 
   41419         672 :   case 1220: /* alterfunc_opt_list: common_func_opt_item  */
   41420             : #line 8949 "gram.y"
   41421             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41422             : #line 41423 "gram.c"
   41423         672 :     break;
   41424             : 
   41425           4 :   case 1221: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item  */
   41426             : #line 8950 "gram.y"
   41427             :                                                                   { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41428             : #line 41429 "gram.c"
   41429           4 :     break;
   41430             : 
   41431        3264 :   case 1224: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior  */
   41432             : #line 8974 "gram.y"
   41433             :                                 {
   41434             :                     DropStmt *n = makeNode(DropStmt);
   41435             : 
   41436             :                     n->removeType = OBJECT_FUNCTION;
   41437             :                     n->objects = (yyvsp[-1].list);
   41438             :                     n->behavior = (yyvsp[0].dbehavior);
   41439             :                     n->missing_ok = false;
   41440             :                     n->concurrent = false;
   41441             :                     (yyval.node) = (Node *) n;
   41442             :                 }
   41443             : #line 41444 "gram.c"
   41444        3264 :     break;
   41445             : 
   41446         260 :   case 1225: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41447             : #line 8985 "gram.y"
   41448             :                                 {
   41449             :                     DropStmt *n = makeNode(DropStmt);
   41450             : 
   41451             :                     n->removeType = OBJECT_FUNCTION;
   41452             :                     n->objects = (yyvsp[-1].list);
   41453             :                     n->behavior = (yyvsp[0].dbehavior);
   41454             :                     n->missing_ok = true;
   41455             :                     n->concurrent = false;
   41456             :                     (yyval.node) = (Node *) n;
   41457             :                 }
   41458             : #line 41459 "gram.c"
   41459         260 :     break;
   41460             : 
   41461         138 :   case 1226: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior  */
   41462             : #line 8996 "gram.y"
   41463             :                                 {
   41464             :                     DropStmt *n = makeNode(DropStmt);
   41465             : 
   41466             :                     n->removeType = OBJECT_PROCEDURE;
   41467             :                     n->objects = (yyvsp[-1].list);
   41468             :                     n->behavior = (yyvsp[0].dbehavior);
   41469             :                     n->missing_ok = false;
   41470             :                     n->concurrent = false;
   41471             :                     (yyval.node) = (Node *) n;
   41472             :                 }
   41473             : #line 41474 "gram.c"
   41474         138 :     break;
   41475             : 
   41476           6 :   case 1227: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41477             : #line 9007 "gram.y"
   41478             :                                 {
   41479             :                     DropStmt *n = makeNode(DropStmt);
   41480             : 
   41481             :                     n->removeType = OBJECT_PROCEDURE;
   41482             :                     n->objects = (yyvsp[-1].list);
   41483             :                     n->behavior = (yyvsp[0].dbehavior);
   41484             :                     n->missing_ok = true;
   41485             :                     n->concurrent = false;
   41486             :                     (yyval.node) = (Node *) n;
   41487             :                 }
   41488             : #line 41489 "gram.c"
   41489           6 :     break;
   41490             : 
   41491          12 :   case 1228: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior  */
   41492             : #line 9018 "gram.y"
   41493             :                                 {
   41494             :                     DropStmt *n = makeNode(DropStmt);
   41495             : 
   41496             :                     n->removeType = OBJECT_ROUTINE;
   41497             :                     n->objects = (yyvsp[-1].list);
   41498             :                     n->behavior = (yyvsp[0].dbehavior);
   41499             :                     n->missing_ok = false;
   41500             :                     n->concurrent = false;
   41501             :                     (yyval.node) = (Node *) n;
   41502             :                 }
   41503             : #line 41504 "gram.c"
   41504          12 :     break;
   41505             : 
   41506           6 :   case 1229: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior  */
   41507             : #line 9029 "gram.y"
   41508             :                                 {
   41509             :                     DropStmt *n = makeNode(DropStmt);
   41510             : 
   41511             :                     n->removeType = OBJECT_ROUTINE;
   41512             :                     n->objects = (yyvsp[-1].list);
   41513             :                     n->behavior = (yyvsp[0].dbehavior);
   41514             :                     n->missing_ok = true;
   41515             :                     n->concurrent = false;
   41516             :                     (yyval.node) = (Node *) n;
   41517             :                 }
   41518             : #line 41519 "gram.c"
   41519           6 :     break;
   41520             : 
   41521          74 :   case 1230: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior  */
   41522             : #line 9043 "gram.y"
   41523             :                                 {
   41524             :                     DropStmt *n = makeNode(DropStmt);
   41525             : 
   41526             :                     n->removeType = OBJECT_AGGREGATE;
   41527             :                     n->objects = (yyvsp[-1].list);
   41528             :                     n->behavior = (yyvsp[0].dbehavior);
   41529             :                     n->missing_ok = false;
   41530             :                     n->concurrent = false;
   41531             :                     (yyval.node) = (Node *) n;
   41532             :                 }
   41533             : #line 41534 "gram.c"
   41534          74 :     break;
   41535             : 
   41536          30 :   case 1231: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior  */
   41537             : #line 9054 "gram.y"
   41538             :                                 {
   41539             :                     DropStmt *n = makeNode(DropStmt);
   41540             : 
   41541             :                     n->removeType = OBJECT_AGGREGATE;
   41542             :                     n->objects = (yyvsp[-1].list);
   41543             :                     n->behavior = (yyvsp[0].dbehavior);
   41544             :                     n->missing_ok = true;
   41545             :                     n->concurrent = false;
   41546             :                     (yyval.node) = (Node *) n;
   41547             :                 }
   41548             : #line 41549 "gram.c"
   41549          30 :     break;
   41550             : 
   41551         194 :   case 1232: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior  */
   41552             : #line 9068 "gram.y"
   41553             :                                 {
   41554             :                     DropStmt *n = makeNode(DropStmt);
   41555             : 
   41556             :                     n->removeType = OBJECT_OPERATOR;
   41557             :                     n->objects = (yyvsp[-1].list);
   41558             :                     n->behavior = (yyvsp[0].dbehavior);
   41559             :                     n->missing_ok = false;
   41560             :                     n->concurrent = false;
   41561             :                     (yyval.node) = (Node *) n;
   41562             :                 }
   41563             : #line 41564 "gram.c"
   41564         194 :     break;
   41565             : 
   41566          30 :   case 1233: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior  */
   41567             : #line 9079 "gram.y"
   41568             :                                 {
   41569             :                     DropStmt *n = makeNode(DropStmt);
   41570             : 
   41571             :                     n->removeType = OBJECT_OPERATOR;
   41572             :                     n->objects = (yyvsp[-1].list);
   41573             :                     n->behavior = (yyvsp[0].dbehavior);
   41574             :                     n->missing_ok = true;
   41575             :                     n->concurrent = false;
   41576             :                     (yyval.node) = (Node *) n;
   41577             :                 }
   41578             : #line 41579 "gram.c"
   41579          30 :     break;
   41580             : 
   41581          12 :   case 1234: /* oper_argtypes: '(' Typename ')'  */
   41582             : #line 9093 "gram.y"
   41583             :                                 {
   41584             :                    ereport(ERROR,
   41585             :                            (errcode(ERRCODE_SYNTAX_ERROR),
   41586             :                             errmsg("missing argument"),
   41587             :                             errhint("Use NONE to denote the missing argument of a unary operator."),
   41588             :                             parser_errposition((yylsp[0]))));
   41589             :                 }
   41590             : #line 41591 "gram.c"
   41591             :     break;
   41592             : 
   41593        1968 :   case 1235: /* oper_argtypes: '(' Typename ',' Typename ')'  */
   41594             : #line 9101 "gram.y"
   41595             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
   41596             : #line 41597 "gram.c"
   41597        1968 :     break;
   41598             : 
   41599          40 :   case 1236: /* oper_argtypes: '(' NONE ',' Typename ')'  */
   41600             : #line 9103 "gram.y"
   41601             :                                         { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
   41602             : #line 41603 "gram.c"
   41603          40 :     break;
   41604             : 
   41605          12 :   case 1237: /* oper_argtypes: '(' Typename ',' NONE ')'  */
   41606             : #line 9105 "gram.y"
   41607             :                                         { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
   41608             : #line 41609 "gram.c"
   41609          12 :     break;
   41610             : 
   41611       20934 :   case 1238: /* any_operator: all_Op  */
   41612             : #line 9110 "gram.y"
   41613             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   41614             : #line 41615 "gram.c"
   41615       20934 :     break;
   41616             : 
   41617       16014 :   case 1239: /* any_operator: ColId '.' any_operator  */
   41618             : #line 9112 "gram.y"
   41619             :                                         { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
   41620             : #line 41621 "gram.c"
   41621       16014 :     break;
   41622             : 
   41623         224 :   case 1240: /* operator_with_argtypes_list: operator_with_argtypes  */
   41624             : #line 9116 "gram.y"
   41625             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
   41626             : #line 41627 "gram.c"
   41627         224 :     break;
   41628             : 
   41629           0 :   case 1241: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes  */
   41630             : #line 9118 "gram.y"
   41631             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
   41632             : #line 41633 "gram.c"
   41633           0 :     break;
   41634             : 
   41635        2020 :   case 1242: /* operator_with_argtypes: any_operator oper_argtypes  */
   41636             : #line 9123 "gram.y"
   41637             :                                 {
   41638             :                     ObjectWithArgs *n = makeNode(ObjectWithArgs);
   41639             : 
   41640             :                     n->objname = (yyvsp[-1].list);
   41641             :                     n->objargs = (yyvsp[0].list);
   41642             :                     (yyval.objwithargs) = n;
   41643             :                 }
   41644             : #line 41645 "gram.c"
   41645        2020 :     break;
   41646             : 
   41647        1138 :   case 1243: /* DoStmt: DO dostmt_opt_list  */
   41648             : #line 9142 "gram.y"
   41649             :                                 {
   41650             :                     DoStmt *n = makeNode(DoStmt);
   41651             : 
   41652             :                     n->args = (yyvsp[0].list);
   41653             :                     (yyval.node) = (Node *) n;
   41654             :                 }
   41655             : #line 41656 "gram.c"
   41656        1138 :     break;
   41657             : 
   41658        1138 :   case 1244: /* dostmt_opt_list: dostmt_opt_item  */
   41659             : #line 9151 "gram.y"
   41660             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   41661             : #line 41662 "gram.c"
   41662        1138 :     break;
   41663             : 
   41664         198 :   case 1245: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item  */
   41665             : #line 9152 "gram.y"
   41666             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   41667             : #line 41668 "gram.c"
   41668         198 :     break;
   41669             : 
   41670        1138 :   case 1246: /* dostmt_opt_item: Sconst  */
   41671             : #line 9157 "gram.y"
   41672             :                                 {
   41673             :                     (yyval.defelt) = makeDefElem("as", (Node *) makeString((yyvsp[0].str)), (yylsp[0]));
   41674             :                 }
   41675             : #line 41676 "gram.c"
   41676        1138 :     break;
   41677             : 
   41678         198 :   case 1247: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst  */
   41679             : #line 9161 "gram.y"
   41680             :                                 {
   41681             :                     (yyval.defelt) = makeDefElem("language", (Node *) makeString((yyvsp[0].str)), (yylsp[-1]));
   41682             :                 }
   41683             : #line 41684 "gram.c"
   41684         198 :     break;
   41685             : 
   41686         110 :   case 1248: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context  */
   41687             : #line 9174 "gram.y"
   41688             :                                 {
   41689             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41690             : 
   41691             :                     n->sourcetype = (yyvsp[-7].typnam);
   41692             :                     n->targettype = (yyvsp[-5].typnam);
   41693             :                     n->func = (yyvsp[-1].objwithargs);
   41694             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41695             :                     n->inout = false;
   41696             :                     (yyval.node) = (Node *) n;
   41697             :                 }
   41698             : #line 41699 "gram.c"
   41699         110 :     break;
   41700             : 
   41701         172 :   case 1249: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context  */
   41702             : #line 9186 "gram.y"
   41703             :                                 {
   41704             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41705             : 
   41706             :                     n->sourcetype = (yyvsp[-6].typnam);
   41707             :                     n->targettype = (yyvsp[-4].typnam);
   41708             :                     n->func = NULL;
   41709             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41710             :                     n->inout = false;
   41711             :                     (yyval.node) = (Node *) n;
   41712             :                 }
   41713             : #line 41714 "gram.c"
   41714         172 :     break;
   41715             : 
   41716           8 :   case 1250: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context  */
   41717             : #line 9198 "gram.y"
   41718             :                                 {
   41719             :                     CreateCastStmt *n = makeNode(CreateCastStmt);
   41720             : 
   41721             :                     n->sourcetype = (yyvsp[-6].typnam);
   41722             :                     n->targettype = (yyvsp[-4].typnam);
   41723             :                     n->func = NULL;
   41724             :                     n->context = (CoercionContext) (yyvsp[0].ival);
   41725             :                     n->inout = true;
   41726             :                     (yyval.node) = (Node *) n;
   41727             :                 }
   41728             : #line 41729 "gram.c"
   41729           8 :     break;
   41730             : 
   41731          40 :   case 1251: /* cast_context: AS IMPLICIT_P  */
   41732             : #line 9210 "gram.y"
   41733             :                                                                 { (yyval.ival) = COERCION_IMPLICIT; }
   41734             : #line 41735 "gram.c"
   41735          40 :     break;
   41736             : 
   41737          58 :   case 1252: /* cast_context: AS ASSIGNMENT  */
   41738             : #line 9211 "gram.y"
   41739             :                                                                                 { (yyval.ival) = COERCION_ASSIGNMENT; }
   41740             : #line 41741 "gram.c"
   41741          58 :     break;
   41742             : 
   41743         192 :   case 1253: /* cast_context: %empty  */
   41744             : #line 9212 "gram.y"
   41745             :                                                                                         { (yyval.ival) = COERCION_EXPLICIT; }
   41746             : #line 41747 "gram.c"
   41747         192 :     break;
   41748             : 
   41749          60 :   case 1254: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior  */
   41750             : #line 9217 "gram.y"
   41751             :                                 {
   41752             :                     DropStmt *n = makeNode(DropStmt);
   41753             : 
   41754             :                     n->removeType = OBJECT_CAST;
   41755             :                     n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
   41756             :                     n->behavior = (yyvsp[0].dbehavior);
   41757             :                     n->missing_ok = (yyvsp[-6].boolean);
   41758             :                     n->concurrent = false;
   41759             :                     (yyval.node) = (Node *) n;
   41760             :                 }
   41761             : #line 41762 "gram.c"
   41762          60 :     break;
   41763             : 
   41764          36 :   case 1255: /* opt_if_exists: IF_P EXISTS  */
   41765             : #line 9229 "gram.y"
   41766             :                                                                         { (yyval.boolean) = true; }
   41767             : #line 41768 "gram.c"
   41768          36 :     break;
   41769             : 
   41770          38 :   case 1256: /* opt_if_exists: %empty  */
   41771             : #line 9230 "gram.y"
   41772             :                                                                                         { (yyval.boolean) = false; }
   41773             : #line 41774 "gram.c"
   41774          38 :     break;
   41775             : 
   41776          52 :   case 1257: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')'  */
   41777             : #line 9241 "gram.y"
   41778             :                                 {
   41779             :                     CreateTransformStmt *n = makeNode(CreateTransformStmt);
   41780             : 
   41781             :                     n->replace = (yyvsp[-8].boolean);
   41782             :                     n->type_name = (yyvsp[-5].typnam);
   41783             :                     n->lang = (yyvsp[-3].str);
   41784             :                     n->fromsql = linitial((yyvsp[-1].list));
   41785             :                     n->tosql = lsecond((yyvsp[-1].list));
   41786             :                     (yyval.node) = (Node *) n;
   41787             :                 }
   41788             : #line 41789 "gram.c"
   41789          52 :     break;
   41790             : 
   41791          46 :   case 1258: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes  */
   41792             : #line 9254 "gram.y"
   41793             :                                 {
   41794             :                     (yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
   41795             :                 }
   41796             : #line 41797 "gram.c"
   41797          46 :     break;
   41798             : 
   41799           0 :   case 1259: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes  */
   41800             : #line 9258 "gram.y"
   41801             :                                 {
   41802             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
   41803             :                 }
   41804             : #line 41805 "gram.c"
   41805           0 :     break;
   41806             : 
   41807           4 :   case 1260: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes  */
   41808             : #line 9262 "gram.y"
   41809             :                                 {
   41810             :                     (yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
   41811             :                 }
   41812             : #line 41813 "gram.c"
   41813           4 :     break;
   41814             : 
   41815           2 :   case 1261: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes  */
   41816             : #line 9266 "gram.y"
   41817             :                                 {
   41818             :                     (yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
   41819             :                 }
   41820             : #line 41821 "gram.c"
   41821           2 :     break;
   41822             : 
   41823          14 :   case 1262: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior  */
   41824             : #line 9273 "gram.y"
   41825             :                                 {
   41826             :                     DropStmt *n = makeNode(DropStmt);
   41827             : 
   41828             :                     n->removeType = OBJECT_TRANSFORM;
   41829             :                     n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
   41830             :                     n->behavior = (yyvsp[0].dbehavior);
   41831             :                     n->missing_ok = (yyvsp[-5].boolean);
   41832             :                     (yyval.node) = (Node *) n;
   41833             :                 }
   41834             : #line 41835 "gram.c"
   41835          14 :     break;
   41836             : 
   41837         924 :   case 1263: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_relation opt_concurrently qualified_name  */
   41838             : #line 9295 "gram.y"
   41839             :                                 {
   41840             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41841             : 
   41842             :                     n->kind = (yyvsp[-2].ival);
   41843             :                     n->relation = (yyvsp[0].range);
   41844             :                     n->name = NULL;
   41845             :                     n->params = (yyvsp[-3].list);
   41846             :                     if ((yyvsp[-1].boolean))
   41847             :                         n->params = lappend(n->params,
   41848             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41849             :                     (yyval.node) = (Node *) n;
   41850             :                 }
   41851             : #line 41852 "gram.c"
   41852         924 :     break;
   41853             : 
   41854         114 :   case 1264: /* ReindexStmt: REINDEX opt_reindex_option_list SCHEMA opt_concurrently name  */
   41855             : #line 9308 "gram.y"
   41856             :                                 {
   41857             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41858             : 
   41859             :                     n->kind = REINDEX_OBJECT_SCHEMA;
   41860             :                     n->relation = NULL;
   41861             :                     n->name = (yyvsp[0].str);
   41862             :                     n->params = (yyvsp[-3].list);
   41863             :                     if ((yyvsp[-1].boolean))
   41864             :                         n->params = lappend(n->params,
   41865             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41866             :                     (yyval.node) = (Node *) n;
   41867             :                 }
   41868             : #line 41869 "gram.c"
   41869         114 :     break;
   41870             : 
   41871          64 :   case 1265: /* ReindexStmt: REINDEX opt_reindex_option_list reindex_target_all opt_concurrently opt_single_name  */
   41872             : #line 9321 "gram.y"
   41873             :                                 {
   41874             :                     ReindexStmt *n = makeNode(ReindexStmt);
   41875             : 
   41876             :                     n->kind = (yyvsp[-2].ival);
   41877             :                     n->relation = NULL;
   41878             :                     n->name = (yyvsp[0].str);
   41879             :                     n->params = (yyvsp[-3].list);
   41880             :                     if ((yyvsp[-1].boolean))
   41881             :                         n->params = lappend(n->params,
   41882             :                                             makeDefElem("concurrently", NULL, (yylsp[-1])));
   41883             :                     (yyval.node) = (Node *) n;
   41884             :                 }
   41885             : #line 41886 "gram.c"
   41886          64 :     break;
   41887             : 
   41888         396 :   case 1266: /* reindex_target_relation: INDEX  */
   41889             : #line 9335 "gram.y"
   41890             :                                                                 { (yyval.ival) = REINDEX_OBJECT_INDEX; }
   41891             : #line 41892 "gram.c"
   41892         396 :     break;
   41893             : 
   41894         528 :   case 1267: /* reindex_target_relation: TABLE  */
   41895             : #line 9336 "gram.y"
   41896             :                                                                 { (yyval.ival) = REINDEX_OBJECT_TABLE; }
   41897             : #line 41898 "gram.c"
   41898         528 :     break;
   41899             : 
   41900          34 :   case 1268: /* reindex_target_all: SYSTEM_P  */
   41901             : #line 9339 "gram.y"
   41902             :                                                                 { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
   41903             : #line 41904 "gram.c"
   41904          34 :     break;
   41905             : 
   41906          30 :   case 1269: /* reindex_target_all: DATABASE  */
   41907             : #line 9340 "gram.y"
   41908             :                                                                 { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
   41909             : #line 41910 "gram.c"
   41910          30 :     break;
   41911             : 
   41912         156 :   case 1270: /* opt_reindex_option_list: '(' utility_option_list ')'  */
   41913             : #line 9343 "gram.y"
   41914             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   41915             : #line 41916 "gram.c"
   41916         156 :     break;
   41917             : 
   41918         946 :   case 1271: /* opt_reindex_option_list: %empty  */
   41919             : #line 9344 "gram.y"
   41920             :                                                                                         { (yyval.list) = NULL; }
   41921             : #line 41922 "gram.c"
   41922         946 :     break;
   41923             : 
   41924          12 :   case 1272: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions  */
   41925             : #line 9355 "gram.y"
   41926             :                                 {
   41927             :                     AlterTableSpaceOptionsStmt *n =
   41928             :                         makeNode(AlterTableSpaceOptionsStmt);
   41929             : 
   41930             :                     n->tablespacename = (yyvsp[-2].str);
   41931             :                     n->options = (yyvsp[0].list);
   41932             :                     n->isReset = false;
   41933             :                     (yyval.node) = (Node *) n;
   41934             :                 }
   41935             : #line 41936 "gram.c"
   41936          12 :     break;
   41937             : 
   41938          12 :   case 1273: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions  */
   41939             : #line 9365 "gram.y"
   41940             :                                 {
   41941             :                     AlterTableSpaceOptionsStmt *n =
   41942             :                         makeNode(AlterTableSpaceOptionsStmt);
   41943             : 
   41944             :                     n->tablespacename = (yyvsp[-2].str);
   41945             :                     n->options = (yyvsp[0].list);
   41946             :                     n->isReset = true;
   41947             :                     (yyval.node) = (Node *) n;
   41948             :                 }
   41949             : #line 41950 "gram.c"
   41950          12 :     break;
   41951             : 
   41952          42 :   case 1274: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name  */
   41953             : #line 9383 "gram.y"
   41954             :                                 {
   41955             :                     RenameStmt *n = makeNode(RenameStmt);
   41956             : 
   41957             :                     n->renameType = OBJECT_AGGREGATE;
   41958             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   41959             :                     n->newname = (yyvsp[0].str);
   41960             :                     n->missing_ok = false;
   41961             :                     (yyval.node) = (Node *) n;
   41962             :                 }
   41963             : #line 41964 "gram.c"
   41964          42 :     break;
   41965             : 
   41966          18 :   case 1275: /* RenameStmt: ALTER COLLATION any_name RENAME TO name  */
   41967             : #line 9393 "gram.y"
   41968             :                                 {
   41969             :                     RenameStmt *n = makeNode(RenameStmt);
   41970             : 
   41971             :                     n->renameType = OBJECT_COLLATION;
   41972             :                     n->object = (Node *) (yyvsp[-3].list);
   41973             :                     n->newname = (yyvsp[0].str);
   41974             :                     n->missing_ok = false;
   41975             :                     (yyval.node) = (Node *) n;
   41976             :                 }
   41977             : #line 41978 "gram.c"
   41978          18 :     break;
   41979             : 
   41980          24 :   case 1276: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name  */
   41981             : #line 9403 "gram.y"
   41982             :                                 {
   41983             :                     RenameStmt *n = makeNode(RenameStmt);
   41984             : 
   41985             :                     n->renameType = OBJECT_CONVERSION;
   41986             :                     n->object = (Node *) (yyvsp[-3].list);
   41987             :                     n->newname = (yyvsp[0].str);
   41988             :                     n->missing_ok = false;
   41989             :                     (yyval.node) = (Node *) n;
   41990             :                 }
   41991             : #line 41992 "gram.c"
   41992          24 :     break;
   41993             : 
   41994           6 :   case 1277: /* RenameStmt: ALTER DATABASE name RENAME TO name  */
   41995             : #line 9413 "gram.y"
   41996             :                                 {
   41997             :                     RenameStmt *n = makeNode(RenameStmt);
   41998             : 
   41999             :                     n->renameType = OBJECT_DATABASE;
   42000             :                     n->subname = (yyvsp[-3].str);
   42001             :                     n->newname = (yyvsp[0].str);
   42002             :                     n->missing_ok = false;
   42003             :                     (yyval.node) = (Node *) n;
   42004             :                 }
   42005             : #line 42006 "gram.c"
   42006           6 :     break;
   42007             : 
   42008           6 :   case 1278: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name  */
   42009             : #line 9423 "gram.y"
   42010             :                                 {
   42011             :                     RenameStmt *n = makeNode(RenameStmt);
   42012             : 
   42013             :                     n->renameType = OBJECT_DOMAIN;
   42014             :                     n->object = (Node *) (yyvsp[-3].list);
   42015             :                     n->newname = (yyvsp[0].str);
   42016             :                     n->missing_ok = false;
   42017             :                     (yyval.node) = (Node *) n;
   42018             :                 }
   42019             : #line 42020 "gram.c"
   42020           6 :     break;
   42021             : 
   42022           6 :   case 1279: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name  */
   42023             : #line 9433 "gram.y"
   42024             :                                 {
   42025             :                     RenameStmt *n = makeNode(RenameStmt);
   42026             : 
   42027             :                     n->renameType = OBJECT_DOMCONSTRAINT;
   42028             :                     n->object = (Node *) (yyvsp[-5].list);
   42029             :                     n->subname = (yyvsp[-2].str);
   42030             :                     n->newname = (yyvsp[0].str);
   42031             :                     (yyval.node) = (Node *) n;
   42032             :                 }
   42033             : #line 42034 "gram.c"
   42034           6 :     break;
   42035             : 
   42036          24 :   case 1280: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name  */
   42037             : #line 9443 "gram.y"
   42038             :                                 {
   42039             :                     RenameStmt *n = makeNode(RenameStmt);
   42040             : 
   42041             :                     n->renameType = OBJECT_FDW;
   42042             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42043             :                     n->newname = (yyvsp[0].str);
   42044             :                     n->missing_ok = false;
   42045             :                     (yyval.node) = (Node *) n;
   42046             :                 }
   42047             : #line 42048 "gram.c"
   42048          24 :     break;
   42049             : 
   42050          24 :   case 1281: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name  */
   42051             : #line 9453 "gram.y"
   42052             :                                 {
   42053             :                     RenameStmt *n = makeNode(RenameStmt);
   42054             : 
   42055             :                     n->renameType = OBJECT_FUNCTION;
   42056             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42057             :                     n->newname = (yyvsp[0].str);
   42058             :                     n->missing_ok = false;
   42059             :                     (yyval.node) = (Node *) n;
   42060             :                 }
   42061             : #line 42062 "gram.c"
   42062          24 :     break;
   42063             : 
   42064           0 :   case 1282: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId  */
   42065             : #line 9463 "gram.y"
   42066             :                                 {
   42067             :                     RenameStmt *n = makeNode(RenameStmt);
   42068             : 
   42069             :                     n->renameType = OBJECT_ROLE;
   42070             :                     n->subname = (yyvsp[-3].str);
   42071             :                     n->newname = (yyvsp[0].str);
   42072             :                     n->missing_ok = false;
   42073             :                     (yyval.node) = (Node *) n;
   42074             :                 }
   42075             : #line 42076 "gram.c"
   42076           0 :     break;
   42077             : 
   42078          18 :   case 1283: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name  */
   42079             : #line 9473 "gram.y"
   42080             :                                 {
   42081             :                     RenameStmt *n = makeNode(RenameStmt);
   42082             : 
   42083             :                     n->renameType = OBJECT_LANGUAGE;
   42084             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42085             :                     n->newname = (yyvsp[0].str);
   42086             :                     n->missing_ok = false;
   42087             :                     (yyval.node) = (Node *) n;
   42088             :                 }
   42089             : #line 42090 "gram.c"
   42090          18 :     break;
   42091             : 
   42092          24 :   case 1284: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name  */
   42093             : #line 9483 "gram.y"
   42094             :                                 {
   42095             :                     RenameStmt *n = makeNode(RenameStmt);
   42096             : 
   42097             :                     n->renameType = OBJECT_OPCLASS;
   42098             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42099             :                     n->newname = (yyvsp[0].str);
   42100             :                     n->missing_ok = false;
   42101             :                     (yyval.node) = (Node *) n;
   42102             :                 }
   42103             : #line 42104 "gram.c"
   42104          24 :     break;
   42105             : 
   42106          24 :   case 1285: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name  */
   42107             : #line 9493 "gram.y"
   42108             :                                 {
   42109             :                     RenameStmt *n = makeNode(RenameStmt);
   42110             : 
   42111             :                     n->renameType = OBJECT_OPFAMILY;
   42112             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42113             :                     n->newname = (yyvsp[0].str);
   42114             :                     n->missing_ok = false;
   42115             :                     (yyval.node) = (Node *) n;
   42116             :                 }
   42117             : #line 42118 "gram.c"
   42118          24 :     break;
   42119             : 
   42120          18 :   case 1286: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name  */
   42121             : #line 9503 "gram.y"
   42122             :                                 {
   42123             :                     RenameStmt *n = makeNode(RenameStmt);
   42124             : 
   42125             :                     n->renameType = OBJECT_POLICY;
   42126             :                     n->relation = (yyvsp[-3].range);
   42127             :                     n->subname = (yyvsp[-5].str);
   42128             :                     n->newname = (yyvsp[0].str);
   42129             :                     n->missing_ok = false;
   42130             :                     (yyval.node) = (Node *) n;
   42131             :                 }
   42132             : #line 42133 "gram.c"
   42133          18 :     break;
   42134             : 
   42135           0 :   case 1287: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name  */
   42136             : #line 9514 "gram.y"
   42137             :                                 {
   42138             :                     RenameStmt *n = makeNode(RenameStmt);
   42139             : 
   42140             :                     n->renameType = OBJECT_POLICY;
   42141             :                     n->relation = (yyvsp[-3].range);
   42142             :                     n->subname = (yyvsp[-5].str);
   42143             :                     n->newname = (yyvsp[0].str);
   42144             :                     n->missing_ok = true;
   42145             :                     (yyval.node) = (Node *) n;
   42146             :                 }
   42147             : #line 42148 "gram.c"
   42148           0 :     break;
   42149             : 
   42150           0 :   case 1288: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name  */
   42151             : #line 9525 "gram.y"
   42152             :                                 {
   42153             :                     RenameStmt *n = makeNode(RenameStmt);
   42154             : 
   42155             :                     n->renameType = OBJECT_PROCEDURE;
   42156             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42157             :                     n->newname = (yyvsp[0].str);
   42158             :                     n->missing_ok = false;
   42159             :                     (yyval.node) = (Node *) n;
   42160             :                 }
   42161             : #line 42162 "gram.c"
   42162           0 :     break;
   42163             : 
   42164          42 :   case 1289: /* RenameStmt: ALTER PUBLICATION name RENAME TO name  */
   42165             : #line 9535 "gram.y"
   42166             :                                 {
   42167             :                     RenameStmt *n = makeNode(RenameStmt);
   42168             : 
   42169             :                     n->renameType = OBJECT_PUBLICATION;
   42170             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42171             :                     n->newname = (yyvsp[0].str);
   42172             :                     n->missing_ok = false;
   42173             :                     (yyval.node) = (Node *) n;
   42174             :                 }
   42175             : #line 42176 "gram.c"
   42176          42 :     break;
   42177             : 
   42178          24 :   case 1290: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name  */
   42179             : #line 9545 "gram.y"
   42180             :                                 {
   42181             :                     RenameStmt *n = makeNode(RenameStmt);
   42182             : 
   42183             :                     n->renameType = OBJECT_ROUTINE;
   42184             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42185             :                     n->newname = (yyvsp[0].str);
   42186             :                     n->missing_ok = false;
   42187             :                     (yyval.node) = (Node *) n;
   42188             :                 }
   42189             : #line 42190 "gram.c"
   42190          24 :     break;
   42191             : 
   42192          20 :   case 1291: /* RenameStmt: ALTER SCHEMA name RENAME TO name  */
   42193             : #line 9555 "gram.y"
   42194             :                                 {
   42195             :                     RenameStmt *n = makeNode(RenameStmt);
   42196             : 
   42197             :                     n->renameType = OBJECT_SCHEMA;
   42198             :                     n->subname = (yyvsp[-3].str);
   42199             :                     n->newname = (yyvsp[0].str);
   42200             :                     n->missing_ok = false;
   42201             :                     (yyval.node) = (Node *) n;
   42202             :                 }
   42203             : #line 42204 "gram.c"
   42204          20 :     break;
   42205             : 
   42206          24 :   case 1292: /* RenameStmt: ALTER SERVER name RENAME TO name  */
   42207             : #line 9565 "gram.y"
   42208             :                                 {
   42209             :                     RenameStmt *n = makeNode(RenameStmt);
   42210             : 
   42211             :                     n->renameType = OBJECT_FOREIGN_SERVER;
   42212             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42213             :                     n->newname = (yyvsp[0].str);
   42214             :                     n->missing_ok = false;
   42215             :                     (yyval.node) = (Node *) n;
   42216             :                 }
   42217             : #line 42218 "gram.c"
   42218          24 :     break;
   42219             : 
   42220          38 :   case 1293: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name  */
   42221             : #line 9575 "gram.y"
   42222             :                                 {
   42223             :                     RenameStmt *n = makeNode(RenameStmt);
   42224             : 
   42225             :                     n->renameType = OBJECT_SUBSCRIPTION;
   42226             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42227             :                     n->newname = (yyvsp[0].str);
   42228             :                     n->missing_ok = false;
   42229             :                     (yyval.node) = (Node *) n;
   42230             :                 }
   42231             : #line 42232 "gram.c"
   42232          38 :     break;
   42233             : 
   42234         286 :   case 1294: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name  */
   42235             : #line 9585 "gram.y"
   42236             :                                 {
   42237             :                     RenameStmt *n = makeNode(RenameStmt);
   42238             : 
   42239             :                     n->renameType = OBJECT_TABLE;
   42240             :                     n->relation = (yyvsp[-3].range);
   42241             :                     n->subname = NULL;
   42242             :                     n->newname = (yyvsp[0].str);
   42243             :                     n->missing_ok = false;
   42244             :                     (yyval.node) = (Node *) n;
   42245             :                 }
   42246             : #line 42247 "gram.c"
   42247         286 :     break;
   42248             : 
   42249           0 :   case 1295: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42250             : #line 9596 "gram.y"
   42251             :                                 {
   42252             :                     RenameStmt *n = makeNode(RenameStmt);
   42253             : 
   42254             :                     n->renameType = OBJECT_TABLE;
   42255             :                     n->relation = (yyvsp[-3].range);
   42256             :                     n->subname = NULL;
   42257             :                     n->newname = (yyvsp[0].str);
   42258             :                     n->missing_ok = true;
   42259             :                     (yyval.node) = (Node *) n;
   42260             :                 }
   42261             : #line 42262 "gram.c"
   42262           0 :     break;
   42263             : 
   42264           2 :   case 1296: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name  */
   42265             : #line 9607 "gram.y"
   42266             :                                 {
   42267             :                     RenameStmt *n = makeNode(RenameStmt);
   42268             : 
   42269             :                     n->renameType = OBJECT_SEQUENCE;
   42270             :                     n->relation = (yyvsp[-3].range);
   42271             :                     n->subname = NULL;
   42272             :                     n->newname = (yyvsp[0].str);
   42273             :                     n->missing_ok = false;
   42274             :                     (yyval.node) = (Node *) n;
   42275             :                 }
   42276             : #line 42277 "gram.c"
   42277           2 :     break;
   42278             : 
   42279           0 :   case 1297: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name  */
   42280             : #line 9618 "gram.y"
   42281             :                                 {
   42282             :                     RenameStmt *n = makeNode(RenameStmt);
   42283             : 
   42284             :                     n->renameType = OBJECT_SEQUENCE;
   42285             :                     n->relation = (yyvsp[-3].range);
   42286             :                     n->subname = NULL;
   42287             :                     n->newname = (yyvsp[0].str);
   42288             :                     n->missing_ok = true;
   42289             :                     (yyval.node) = (Node *) n;
   42290             :                 }
   42291             : #line 42292 "gram.c"
   42292           0 :     break;
   42293             : 
   42294           6 :   case 1298: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name  */
   42295             : #line 9629 "gram.y"
   42296             :                                 {
   42297             :                     RenameStmt *n = makeNode(RenameStmt);
   42298             : 
   42299             :                     n->renameType = OBJECT_VIEW;
   42300             :                     n->relation = (yyvsp[-3].range);
   42301             :                     n->subname = NULL;
   42302             :                     n->newname = (yyvsp[0].str);
   42303             :                     n->missing_ok = false;
   42304             :                     (yyval.node) = (Node *) n;
   42305             :                 }
   42306             : #line 42307 "gram.c"
   42307           6 :     break;
   42308             : 
   42309           0 :   case 1299: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42310             : #line 9640 "gram.y"
   42311             :                                 {
   42312             :                     RenameStmt *n = makeNode(RenameStmt);
   42313             : 
   42314             :                     n->renameType = OBJECT_VIEW;
   42315             :                     n->relation = (yyvsp[-3].range);
   42316             :                     n->subname = NULL;
   42317             :                     n->newname = (yyvsp[0].str);
   42318             :                     n->missing_ok = true;
   42319             :                     (yyval.node) = (Node *) n;
   42320             :                 }
   42321             : #line 42322 "gram.c"
   42322           0 :     break;
   42323             : 
   42324           0 :   case 1300: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name  */
   42325             : #line 9651 "gram.y"
   42326             :                                 {
   42327             :                     RenameStmt *n = makeNode(RenameStmt);
   42328             : 
   42329             :                     n->renameType = OBJECT_MATVIEW;
   42330             :                     n->relation = (yyvsp[-3].range);
   42331             :                     n->subname = NULL;
   42332             :                     n->newname = (yyvsp[0].str);
   42333             :                     n->missing_ok = false;
   42334             :                     (yyval.node) = (Node *) n;
   42335             :                 }
   42336             : #line 42337 "gram.c"
   42337           0 :     break;
   42338             : 
   42339           0 :   case 1301: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name  */
   42340             : #line 9662 "gram.y"
   42341             :                                 {
   42342             :                     RenameStmt *n = makeNode(RenameStmt);
   42343             : 
   42344             :                     n->renameType = OBJECT_MATVIEW;
   42345             :                     n->relation = (yyvsp[-3].range);
   42346             :                     n->subname = NULL;
   42347             :                     n->newname = (yyvsp[0].str);
   42348             :                     n->missing_ok = true;
   42349             :                     (yyval.node) = (Node *) n;
   42350             :                 }
   42351             : #line 42352 "gram.c"
   42352           0 :     break;
   42353             : 
   42354         192 :   case 1302: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name  */
   42355             : #line 9673 "gram.y"
   42356             :                                 {
   42357             :                     RenameStmt *n = makeNode(RenameStmt);
   42358             : 
   42359             :                     n->renameType = OBJECT_INDEX;
   42360             :                     n->relation = (yyvsp[-3].range);
   42361             :                     n->subname = NULL;
   42362             :                     n->newname = (yyvsp[0].str);
   42363             :                     n->missing_ok = false;
   42364             :                     (yyval.node) = (Node *) n;
   42365             :                 }
   42366             : #line 42367 "gram.c"
   42367         192 :     break;
   42368             : 
   42369          12 :   case 1303: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name  */
   42370             : #line 9684 "gram.y"
   42371             :                                 {
   42372             :                     RenameStmt *n = makeNode(RenameStmt);
   42373             : 
   42374             :                     n->renameType = OBJECT_INDEX;
   42375             :                     n->relation = (yyvsp[-3].range);
   42376             :                     n->subname = NULL;
   42377             :                     n->newname = (yyvsp[0].str);
   42378             :                     n->missing_ok = true;
   42379             :                     (yyval.node) = (Node *) n;
   42380             :                 }
   42381             : #line 42382 "gram.c"
   42382          12 :     break;
   42383             : 
   42384           6 :   case 1304: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name  */
   42385             : #line 9695 "gram.y"
   42386             :                                 {
   42387             :                     RenameStmt *n = makeNode(RenameStmt);
   42388             : 
   42389             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42390             :                     n->relation = (yyvsp[-3].range);
   42391             :                     n->subname = NULL;
   42392             :                     n->newname = (yyvsp[0].str);
   42393             :                     n->missing_ok = false;
   42394             :                     (yyval.node) = (Node *) n;
   42395             :                 }
   42396             : #line 42397 "gram.c"
   42397           6 :     break;
   42398             : 
   42399           6 :   case 1305: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name  */
   42400             : #line 9706 "gram.y"
   42401             :                                 {
   42402             :                     RenameStmt *n = makeNode(RenameStmt);
   42403             : 
   42404             :                     n->renameType = OBJECT_FOREIGN_TABLE;
   42405             :                     n->relation = (yyvsp[-3].range);
   42406             :                     n->subname = NULL;
   42407             :                     n->newname = (yyvsp[0].str);
   42408             :                     n->missing_ok = true;
   42409             :                     (yyval.node) = (Node *) n;
   42410             :                 }
   42411             : #line 42412 "gram.c"
   42412           6 :     break;
   42413             : 
   42414         238 :   case 1306: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name  */
   42415             : #line 9717 "gram.y"
   42416             :                                 {
   42417             :                     RenameStmt *n = makeNode(RenameStmt);
   42418             : 
   42419             :                     n->renameType = OBJECT_COLUMN;
   42420             :                     n->relationType = OBJECT_TABLE;
   42421             :                     n->relation = (yyvsp[-5].range);
   42422             :                     n->subname = (yyvsp[-2].str);
   42423             :                     n->newname = (yyvsp[0].str);
   42424             :                     n->missing_ok = false;
   42425             :                     (yyval.node) = (Node *) n;
   42426             :                 }
   42427             : #line 42428 "gram.c"
   42428         238 :     break;
   42429             : 
   42430          24 :   case 1307: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42431             : #line 9729 "gram.y"
   42432             :                                 {
   42433             :                     RenameStmt *n = makeNode(RenameStmt);
   42434             : 
   42435             :                     n->renameType = OBJECT_COLUMN;
   42436             :                     n->relationType = OBJECT_TABLE;
   42437             :                     n->relation = (yyvsp[-5].range);
   42438             :                     n->subname = (yyvsp[-2].str);
   42439             :                     n->newname = (yyvsp[0].str);
   42440             :                     n->missing_ok = true;
   42441             :                     (yyval.node) = (Node *) n;
   42442             :                 }
   42443             : #line 42444 "gram.c"
   42444          24 :     break;
   42445             : 
   42446          18 :   case 1308: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name  */
   42447             : #line 9741 "gram.y"
   42448             :                                 {
   42449             :                     RenameStmt *n = makeNode(RenameStmt);
   42450             : 
   42451             :                     n->renameType = OBJECT_COLUMN;
   42452             :                     n->relationType = OBJECT_VIEW;
   42453             :                     n->relation = (yyvsp[-5].range);
   42454             :                     n->subname = (yyvsp[-2].str);
   42455             :                     n->newname = (yyvsp[0].str);
   42456             :                     n->missing_ok = false;
   42457             :                     (yyval.node) = (Node *) n;
   42458             :                 }
   42459             : #line 42460 "gram.c"
   42460          18 :     break;
   42461             : 
   42462           0 :   case 1309: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42463             : #line 9753 "gram.y"
   42464             :                                 {
   42465             :                     RenameStmt *n = makeNode(RenameStmt);
   42466             : 
   42467             :                     n->renameType = OBJECT_COLUMN;
   42468             :                     n->relationType = OBJECT_VIEW;
   42469             :                     n->relation = (yyvsp[-5].range);
   42470             :                     n->subname = (yyvsp[-2].str);
   42471             :                     n->newname = (yyvsp[0].str);
   42472             :                     n->missing_ok = true;
   42473             :                     (yyval.node) = (Node *) n;
   42474             :                 }
   42475             : #line 42476 "gram.c"
   42476           0 :     break;
   42477             : 
   42478           0 :   case 1310: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name  */
   42479             : #line 9765 "gram.y"
   42480             :                                 {
   42481             :                     RenameStmt *n = makeNode(RenameStmt);
   42482             : 
   42483             :                     n->renameType = OBJECT_COLUMN;
   42484             :                     n->relationType = OBJECT_MATVIEW;
   42485             :                     n->relation = (yyvsp[-5].range);
   42486             :                     n->subname = (yyvsp[-2].str);
   42487             :                     n->newname = (yyvsp[0].str);
   42488             :                     n->missing_ok = false;
   42489             :                     (yyval.node) = (Node *) n;
   42490             :                 }
   42491             : #line 42492 "gram.c"
   42492           0 :     break;
   42493             : 
   42494           0 :   case 1311: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name  */
   42495             : #line 9777 "gram.y"
   42496             :                                 {
   42497             :                     RenameStmt *n = makeNode(RenameStmt);
   42498             : 
   42499             :                     n->renameType = OBJECT_COLUMN;
   42500             :                     n->relationType = OBJECT_MATVIEW;
   42501             :                     n->relation = (yyvsp[-5].range);
   42502             :                     n->subname = (yyvsp[-2].str);
   42503             :                     n->newname = (yyvsp[0].str);
   42504             :                     n->missing_ok = true;
   42505             :                     (yyval.node) = (Node *) n;
   42506             :                 }
   42507             : #line 42508 "gram.c"
   42508           0 :     break;
   42509             : 
   42510          72 :   case 1312: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name  */
   42511             : #line 9789 "gram.y"
   42512             :                                 {
   42513             :                     RenameStmt *n = makeNode(RenameStmt);
   42514             : 
   42515             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42516             :                     n->relation = (yyvsp[-5].range);
   42517             :                     n->subname = (yyvsp[-2].str);
   42518             :                     n->newname = (yyvsp[0].str);
   42519             :                     n->missing_ok = false;
   42520             :                     (yyval.node) = (Node *) n;
   42521             :                 }
   42522             : #line 42523 "gram.c"
   42523          72 :     break;
   42524             : 
   42525           6 :   case 1313: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name  */
   42526             : #line 9800 "gram.y"
   42527             :                                 {
   42528             :                     RenameStmt *n = makeNode(RenameStmt);
   42529             : 
   42530             :                     n->renameType = OBJECT_TABCONSTRAINT;
   42531             :                     n->relation = (yyvsp[-5].range);
   42532             :                     n->subname = (yyvsp[-2].str);
   42533             :                     n->newname = (yyvsp[0].str);
   42534             :                     n->missing_ok = true;
   42535             :                     (yyval.node) = (Node *) n;
   42536             :                 }
   42537             : #line 42538 "gram.c"
   42538           6 :     break;
   42539             : 
   42540           6 :   case 1314: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name  */
   42541             : #line 9811 "gram.y"
   42542             :                                 {
   42543             :                     RenameStmt *n = makeNode(RenameStmt);
   42544             : 
   42545             :                     n->renameType = OBJECT_COLUMN;
   42546             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42547             :                     n->relation = (yyvsp[-5].range);
   42548             :                     n->subname = (yyvsp[-2].str);
   42549             :                     n->newname = (yyvsp[0].str);
   42550             :                     n->missing_ok = false;
   42551             :                     (yyval.node) = (Node *) n;
   42552             :                 }
   42553             : #line 42554 "gram.c"
   42554           6 :     break;
   42555             : 
   42556           6 :   case 1315: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name  */
   42557             : #line 9823 "gram.y"
   42558             :                                 {
   42559             :                     RenameStmt *n = makeNode(RenameStmt);
   42560             : 
   42561             :                     n->renameType = OBJECT_COLUMN;
   42562             :                     n->relationType = OBJECT_FOREIGN_TABLE;
   42563             :                     n->relation = (yyvsp[-5].range);
   42564             :                     n->subname = (yyvsp[-2].str);
   42565             :                     n->newname = (yyvsp[0].str);
   42566             :                     n->missing_ok = true;
   42567             :                     (yyval.node) = (Node *) n;
   42568             :                 }
   42569             : #line 42570 "gram.c"
   42570           6 :     break;
   42571             : 
   42572          34 :   case 1316: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name  */
   42573             : #line 9835 "gram.y"
   42574             :                                 {
   42575             :                     RenameStmt *n = makeNode(RenameStmt);
   42576             : 
   42577             :                     n->renameType = OBJECT_RULE;
   42578             :                     n->relation = (yyvsp[-3].range);
   42579             :                     n->subname = (yyvsp[-5].str);
   42580             :                     n->newname = (yyvsp[0].str);
   42581             :                     n->missing_ok = false;
   42582             :                     (yyval.node) = (Node *) n;
   42583             :                 }
   42584             : #line 42585 "gram.c"
   42585          34 :     break;
   42586             : 
   42587          40 :   case 1317: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name  */
   42588             : #line 9846 "gram.y"
   42589             :                                 {
   42590             :                     RenameStmt *n = makeNode(RenameStmt);
   42591             : 
   42592             :                     n->renameType = OBJECT_TRIGGER;
   42593             :                     n->relation = (yyvsp[-3].range);
   42594             :                     n->subname = (yyvsp[-5].str);
   42595             :                     n->newname = (yyvsp[0].str);
   42596             :                     n->missing_ok = false;
   42597             :                     (yyval.node) = (Node *) n;
   42598             :                 }
   42599             : #line 42600 "gram.c"
   42600          40 :     break;
   42601             : 
   42602          12 :   case 1318: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name  */
   42603             : #line 9857 "gram.y"
   42604             :                                 {
   42605             :                     RenameStmt *n = makeNode(RenameStmt);
   42606             : 
   42607             :                     n->renameType = OBJECT_EVENT_TRIGGER;
   42608             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42609             :                     n->newname = (yyvsp[0].str);
   42610             :                     (yyval.node) = (Node *) n;
   42611             :                 }
   42612             : #line 42613 "gram.c"
   42613          12 :     break;
   42614             : 
   42615          30 :   case 1319: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId  */
   42616             : #line 9866 "gram.y"
   42617             :                                 {
   42618             :                     RenameStmt *n = makeNode(RenameStmt);
   42619             : 
   42620             :                     n->renameType = OBJECT_ROLE;
   42621             :                     n->subname = (yyvsp[-3].str);
   42622             :                     n->newname = (yyvsp[0].str);
   42623             :                     n->missing_ok = false;
   42624             :                     (yyval.node) = (Node *) n;
   42625             :                 }
   42626             : #line 42627 "gram.c"
   42627          30 :     break;
   42628             : 
   42629           0 :   case 1320: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId  */
   42630             : #line 9876 "gram.y"
   42631             :                                 {
   42632             :                     RenameStmt *n = makeNode(RenameStmt);
   42633             : 
   42634             :                     n->renameType = OBJECT_ROLE;
   42635             :                     n->subname = (yyvsp[-3].str);
   42636             :                     n->newname = (yyvsp[0].str);
   42637             :                     n->missing_ok = false;
   42638             :                     (yyval.node) = (Node *) n;
   42639             :                 }
   42640             : #line 42641 "gram.c"
   42641           0 :     break;
   42642             : 
   42643           6 :   case 1321: /* RenameStmt: ALTER TABLESPACE name RENAME TO name  */
   42644             : #line 9886 "gram.y"
   42645             :                                 {
   42646             :                     RenameStmt *n = makeNode(RenameStmt);
   42647             : 
   42648             :                     n->renameType = OBJECT_TABLESPACE;
   42649             :                     n->subname = (yyvsp[-3].str);
   42650             :                     n->newname = (yyvsp[0].str);
   42651             :                     n->missing_ok = false;
   42652             :                     (yyval.node) = (Node *) n;
   42653             :                 }
   42654             : #line 42655 "gram.c"
   42655           6 :     break;
   42656             : 
   42657          30 :   case 1322: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name  */
   42658             : #line 9896 "gram.y"
   42659             :                                 {
   42660             :                     RenameStmt *n = makeNode(RenameStmt);
   42661             : 
   42662             :                     n->renameType = OBJECT_STATISTIC_EXT;
   42663             :                     n->object = (Node *) (yyvsp[-3].list);
   42664             :                     n->newname = (yyvsp[0].str);
   42665             :                     n->missing_ok = false;
   42666             :                     (yyval.node) = (Node *) n;
   42667             :                 }
   42668             : #line 42669 "gram.c"
   42669          30 :     break;
   42670             : 
   42671          12 :   case 1323: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name  */
   42672             : #line 9906 "gram.y"
   42673             :                                 {
   42674             :                     RenameStmt *n = makeNode(RenameStmt);
   42675             : 
   42676             :                     n->renameType = OBJECT_TSPARSER;
   42677             :                     n->object = (Node *) (yyvsp[-3].list);
   42678             :                     n->newname = (yyvsp[0].str);
   42679             :                     n->missing_ok = false;
   42680             :                     (yyval.node) = (Node *) n;
   42681             :                 }
   42682             : #line 42683 "gram.c"
   42683          12 :     break;
   42684             : 
   42685          24 :   case 1324: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name  */
   42686             : #line 9916 "gram.y"
   42687             :                                 {
   42688             :                     RenameStmt *n = makeNode(RenameStmt);
   42689             : 
   42690             :                     n->renameType = OBJECT_TSDICTIONARY;
   42691             :                     n->object = (Node *) (yyvsp[-3].list);
   42692             :                     n->newname = (yyvsp[0].str);
   42693             :                     n->missing_ok = false;
   42694             :                     (yyval.node) = (Node *) n;
   42695             :                 }
   42696             : #line 42697 "gram.c"
   42697          24 :     break;
   42698             : 
   42699          12 :   case 1325: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name  */
   42700             : #line 9926 "gram.y"
   42701             :                                 {
   42702             :                     RenameStmt *n = makeNode(RenameStmt);
   42703             : 
   42704             :                     n->renameType = OBJECT_TSTEMPLATE;
   42705             :                     n->object = (Node *) (yyvsp[-3].list);
   42706             :                     n->newname = (yyvsp[0].str);
   42707             :                     n->missing_ok = false;
   42708             :                     (yyval.node) = (Node *) n;
   42709             :                 }
   42710             : #line 42711 "gram.c"
   42711          12 :     break;
   42712             : 
   42713          24 :   case 1326: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name  */
   42714             : #line 9936 "gram.y"
   42715             :                                 {
   42716             :                     RenameStmt *n = makeNode(RenameStmt);
   42717             : 
   42718             :                     n->renameType = OBJECT_TSCONFIGURATION;
   42719             :                     n->object = (Node *) (yyvsp[-3].list);
   42720             :                     n->newname = (yyvsp[0].str);
   42721             :                     n->missing_ok = false;
   42722             :                     (yyval.node) = (Node *) n;
   42723             :                 }
   42724             : #line 42725 "gram.c"
   42725          24 :     break;
   42726             : 
   42727          26 :   case 1327: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name  */
   42728             : #line 9946 "gram.y"
   42729             :                                 {
   42730             :                     RenameStmt *n = makeNode(RenameStmt);
   42731             : 
   42732             :                     n->renameType = OBJECT_TYPE;
   42733             :                     n->object = (Node *) (yyvsp[-3].list);
   42734             :                     n->newname = (yyvsp[0].str);
   42735             :                     n->missing_ok = false;
   42736             :                     (yyval.node) = (Node *) n;
   42737             :                 }
   42738             : #line 42739 "gram.c"
   42739          26 :     break;
   42740             : 
   42741          24 :   case 1328: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior  */
   42742             : #line 9956 "gram.y"
   42743             :                                 {
   42744             :                     RenameStmt *n = makeNode(RenameStmt);
   42745             : 
   42746             :                     n->renameType = OBJECT_ATTRIBUTE;
   42747             :                     n->relationType = OBJECT_TYPE;
   42748             :                     n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
   42749             :                     n->subname = (yyvsp[-3].str);
   42750             :                     n->newname = (yyvsp[-1].str);
   42751             :                     n->behavior = (yyvsp[0].dbehavior);
   42752             :                     n->missing_ok = false;
   42753             :                     (yyval.node) = (Node *) n;
   42754             :                 }
   42755             : #line 42756 "gram.c"
   42756          24 :     break;
   42757             : 
   42758         184 :   case 1331: /* opt_set_data: SET DATA_P  */
   42759             : #line 9974 "gram.y"
   42760             :                                                                                 { (yyval.ival) = 1; }
   42761             : #line 42762 "gram.c"
   42762         184 :     break;
   42763             : 
   42764         884 :   case 1332: /* opt_set_data: %empty  */
   42765             : #line 9975 "gram.y"
   42766             :                                                                                                 { (yyval.ival) = 0; }
   42767             : #line 42768 "gram.c"
   42768         884 :     break;
   42769             : 
   42770          12 :   case 1333: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42771             : #line 9986 "gram.y"
   42772             :                                 {
   42773             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42774             : 
   42775             :                     n->objectType = OBJECT_FUNCTION;
   42776             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   42777             :                     n->extname = makeString((yyvsp[0].str));
   42778             :                     n->remove = (yyvsp[-4].boolean);
   42779             :                     (yyval.node) = (Node *) n;
   42780             :                 }
   42781             : #line 42782 "gram.c"
   42782          12 :     break;
   42783             : 
   42784           0 :   case 1334: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42785             : #line 9996 "gram.y"
   42786             :                                 {
   42787             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42788             : 
   42789             :                     n->objectType = OBJECT_PROCEDURE;
   42790             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   42791             :                     n->extname = makeString((yyvsp[0].str));
   42792             :                     n->remove = (yyvsp[-4].boolean);
   42793             :                     (yyval.node) = (Node *) n;
   42794             :                 }
   42795             : #line 42796 "gram.c"
   42796           0 :     break;
   42797             : 
   42798           0 :   case 1335: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name  */
   42799             : #line 10006 "gram.y"
   42800             :                                 {
   42801             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42802             : 
   42803             :                     n->objectType = OBJECT_ROUTINE;
   42804             :                     n->object = (Node *) (yyvsp[-5].objwithargs);
   42805             :                     n->extname = makeString((yyvsp[0].str));
   42806             :                     n->remove = (yyvsp[-4].boolean);
   42807             :                     (yyval.node) = (Node *) n;
   42808             :                 }
   42809             : #line 42810 "gram.c"
   42810           0 :     break;
   42811             : 
   42812          10 :   case 1336: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name  */
   42813             : #line 10016 "gram.y"
   42814             :                                 {
   42815             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42816             : 
   42817             :                     n->objectType = OBJECT_TRIGGER;
   42818             :                     n->relation = (yyvsp[-5].range);
   42819             :                     n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
   42820             :                     n->extname = makeString((yyvsp[0].str));
   42821             :                     n->remove = (yyvsp[-4].boolean);
   42822             :                     (yyval.node) = (Node *) n;
   42823             :                 }
   42824             : #line 42825 "gram.c"
   42825          10 :     break;
   42826             : 
   42827          10 :   case 1337: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name  */
   42828             : #line 10027 "gram.y"
   42829             :                                 {
   42830             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42831             : 
   42832             :                     n->objectType = OBJECT_MATVIEW;
   42833             :                     n->relation = (yyvsp[-5].range);
   42834             :                     n->extname = makeString((yyvsp[0].str));
   42835             :                     n->remove = (yyvsp[-4].boolean);
   42836             :                     (yyval.node) = (Node *) n;
   42837             :                 }
   42838             : #line 42839 "gram.c"
   42839          10 :     break;
   42840             : 
   42841          14 :   case 1338: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name  */
   42842             : #line 10037 "gram.y"
   42843             :                                 {
   42844             :                     AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
   42845             : 
   42846             :                     n->objectType = OBJECT_INDEX;
   42847             :                     n->relation = (yyvsp[-5].range);
   42848             :                     n->extname = makeString((yyvsp[0].str));
   42849             :                     n->remove = (yyvsp[-4].boolean);
   42850             :                     (yyval.node) = (Node *) n;
   42851             :                 }
   42852             : #line 42853 "gram.c"
   42853          14 :     break;
   42854             : 
   42855           8 :   case 1339: /* opt_no: NO  */
   42856             : #line 10048 "gram.y"
   42857             :                                                 { (yyval.boolean) = true; }
   42858             : #line 42859 "gram.c"
   42859           8 :     break;
   42860             : 
   42861          38 :   case 1340: /* opt_no: %empty  */
   42862             : #line 10049 "gram.y"
   42863             :                                         { (yyval.boolean) = false;  }
   42864             : #line 42865 "gram.c"
   42865          38 :     break;
   42866             : 
   42867          24 :   case 1341: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name  */
   42868             : #line 10060 "gram.y"
   42869             :                                 {
   42870             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42871             : 
   42872             :                     n->objectType = OBJECT_AGGREGATE;
   42873             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42874             :                     n->newschema = (yyvsp[0].str);
   42875             :                     n->missing_ok = false;
   42876             :                     (yyval.node) = (Node *) n;
   42877             :                 }
   42878             : #line 42879 "gram.c"
   42879          24 :     break;
   42880             : 
   42881           6 :   case 1342: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name  */
   42882             : #line 10070 "gram.y"
   42883             :                                 {
   42884             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42885             : 
   42886             :                     n->objectType = OBJECT_COLLATION;
   42887             :                     n->object = (Node *) (yyvsp[-3].list);
   42888             :                     n->newschema = (yyvsp[0].str);
   42889             :                     n->missing_ok = false;
   42890             :                     (yyval.node) = (Node *) n;
   42891             :                 }
   42892             : #line 42893 "gram.c"
   42893           6 :     break;
   42894             : 
   42895          24 :   case 1343: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name  */
   42896             : #line 10080 "gram.y"
   42897             :                                 {
   42898             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42899             : 
   42900             :                     n->objectType = OBJECT_CONVERSION;
   42901             :                     n->object = (Node *) (yyvsp[-3].list);
   42902             :                     n->newschema = (yyvsp[0].str);
   42903             :                     n->missing_ok = false;
   42904             :                     (yyval.node) = (Node *) n;
   42905             :                 }
   42906             : #line 42907 "gram.c"
   42907          24 :     break;
   42908             : 
   42909           6 :   case 1344: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name  */
   42910             : #line 10090 "gram.y"
   42911             :                                 {
   42912             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42913             : 
   42914             :                     n->objectType = OBJECT_DOMAIN;
   42915             :                     n->object = (Node *) (yyvsp[-3].list);
   42916             :                     n->newschema = (yyvsp[0].str);
   42917             :                     n->missing_ok = false;
   42918             :                     (yyval.node) = (Node *) n;
   42919             :                 }
   42920             : #line 42921 "gram.c"
   42921           6 :     break;
   42922             : 
   42923          12 :   case 1345: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name  */
   42924             : #line 10100 "gram.y"
   42925             :                                 {
   42926             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42927             : 
   42928             :                     n->objectType = OBJECT_EXTENSION;
   42929             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   42930             :                     n->newschema = (yyvsp[0].str);
   42931             :                     n->missing_ok = false;
   42932             :                     (yyval.node) = (Node *) n;
   42933             :                 }
   42934             : #line 42935 "gram.c"
   42935          12 :     break;
   42936             : 
   42937          42 :   case 1346: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name  */
   42938             : #line 10110 "gram.y"
   42939             :                                 {
   42940             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42941             : 
   42942             :                     n->objectType = OBJECT_FUNCTION;
   42943             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42944             :                     n->newschema = (yyvsp[0].str);
   42945             :                     n->missing_ok = false;
   42946             :                     (yyval.node) = (Node *) n;
   42947             :                 }
   42948             : #line 42949 "gram.c"
   42949          42 :     break;
   42950             : 
   42951          18 :   case 1347: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name  */
   42952             : #line 10120 "gram.y"
   42953             :                                 {
   42954             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42955             : 
   42956             :                     n->objectType = OBJECT_OPERATOR;
   42957             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   42958             :                     n->newschema = (yyvsp[0].str);
   42959             :                     n->missing_ok = false;
   42960             :                     (yyval.node) = (Node *) n;
   42961             :                 }
   42962             : #line 42963 "gram.c"
   42963          18 :     break;
   42964             : 
   42965          24 :   case 1348: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name  */
   42966             : #line 10130 "gram.y"
   42967             :                                 {
   42968             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42969             : 
   42970             :                     n->objectType = OBJECT_OPCLASS;
   42971             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42972             :                     n->newschema = (yyvsp[0].str);
   42973             :                     n->missing_ok = false;
   42974             :                     (yyval.node) = (Node *) n;
   42975             :                 }
   42976             : #line 42977 "gram.c"
   42977          24 :     break;
   42978             : 
   42979          24 :   case 1349: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name  */
   42980             : #line 10140 "gram.y"
   42981             :                                 {
   42982             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42983             : 
   42984             :                     n->objectType = OBJECT_OPFAMILY;
   42985             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   42986             :                     n->newschema = (yyvsp[0].str);
   42987             :                     n->missing_ok = false;
   42988             :                     (yyval.node) = (Node *) n;
   42989             :                 }
   42990             : #line 42991 "gram.c"
   42991          24 :     break;
   42992             : 
   42993           0 :   case 1350: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name  */
   42994             : #line 10150 "gram.y"
   42995             :                                 {
   42996             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   42997             : 
   42998             :                     n->objectType = OBJECT_PROCEDURE;
   42999             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43000             :                     n->newschema = (yyvsp[0].str);
   43001             :                     n->missing_ok = false;
   43002             :                     (yyval.node) = (Node *) n;
   43003             :                 }
   43004             : #line 43005 "gram.c"
   43005           0 :     break;
   43006             : 
   43007           0 :   case 1351: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name  */
   43008             : #line 10160 "gram.y"
   43009             :                                 {
   43010             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43011             : 
   43012             :                     n->objectType = OBJECT_ROUTINE;
   43013             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43014             :                     n->newschema = (yyvsp[0].str);
   43015             :                     n->missing_ok = false;
   43016             :                     (yyval.node) = (Node *) n;
   43017             :                 }
   43018             : #line 43019 "gram.c"
   43019           0 :     break;
   43020             : 
   43021          66 :   case 1352: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name  */
   43022             : #line 10170 "gram.y"
   43023             :                                 {
   43024             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43025             : 
   43026             :                     n->objectType = OBJECT_TABLE;
   43027             :                     n->relation = (yyvsp[-3].range);
   43028             :                     n->newschema = (yyvsp[0].str);
   43029             :                     n->missing_ok = false;
   43030             :                     (yyval.node) = (Node *) n;
   43031             :                 }
   43032             : #line 43033 "gram.c"
   43033          66 :     break;
   43034             : 
   43035          12 :   case 1353: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43036             : #line 10180 "gram.y"
   43037             :                                 {
   43038             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43039             : 
   43040             :                     n->objectType = OBJECT_TABLE;
   43041             :                     n->relation = (yyvsp[-3].range);
   43042             :                     n->newschema = (yyvsp[0].str);
   43043             :                     n->missing_ok = true;
   43044             :                     (yyval.node) = (Node *) n;
   43045             :                 }
   43046             : #line 43047 "gram.c"
   43047          12 :     break;
   43048             : 
   43049          18 :   case 1354: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name  */
   43050             : #line 10190 "gram.y"
   43051             :                                 {
   43052             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43053             : 
   43054             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43055             :                     n->object = (Node *) (yyvsp[-3].list);
   43056             :                     n->newschema = (yyvsp[0].str);
   43057             :                     n->missing_ok = false;
   43058             :                     (yyval.node) = (Node *) n;
   43059             :                 }
   43060             : #line 43061 "gram.c"
   43061          18 :     break;
   43062             : 
   43063          18 :   case 1355: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name  */
   43064             : #line 10200 "gram.y"
   43065             :                                 {
   43066             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43067             : 
   43068             :                     n->objectType = OBJECT_TSPARSER;
   43069             :                     n->object = (Node *) (yyvsp[-3].list);
   43070             :                     n->newschema = (yyvsp[0].str);
   43071             :                     n->missing_ok = false;
   43072             :                     (yyval.node) = (Node *) n;
   43073             :                 }
   43074             : #line 43075 "gram.c"
   43075          18 :     break;
   43076             : 
   43077          24 :   case 1356: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name  */
   43078             : #line 10210 "gram.y"
   43079             :                                 {
   43080             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43081             : 
   43082             :                     n->objectType = OBJECT_TSDICTIONARY;
   43083             :                     n->object = (Node *) (yyvsp[-3].list);
   43084             :                     n->newschema = (yyvsp[0].str);
   43085             :                     n->missing_ok = false;
   43086             :                     (yyval.node) = (Node *) n;
   43087             :                 }
   43088             : #line 43089 "gram.c"
   43089          24 :     break;
   43090             : 
   43091          18 :   case 1357: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name  */
   43092             : #line 10220 "gram.y"
   43093             :                                 {
   43094             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43095             : 
   43096             :                     n->objectType = OBJECT_TSTEMPLATE;
   43097             :                     n->object = (Node *) (yyvsp[-3].list);
   43098             :                     n->newschema = (yyvsp[0].str);
   43099             :                     n->missing_ok = false;
   43100             :                     (yyval.node) = (Node *) n;
   43101             :                 }
   43102             : #line 43103 "gram.c"
   43103          18 :     break;
   43104             : 
   43105          24 :   case 1358: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name  */
   43106             : #line 10230 "gram.y"
   43107             :                                 {
   43108             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43109             : 
   43110             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43111             :                     n->object = (Node *) (yyvsp[-3].list);
   43112             :                     n->newschema = (yyvsp[0].str);
   43113             :                     n->missing_ok = false;
   43114             :                     (yyval.node) = (Node *) n;
   43115             :                 }
   43116             : #line 43117 "gram.c"
   43117          24 :     break;
   43118             : 
   43119           8 :   case 1359: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name  */
   43120             : #line 10240 "gram.y"
   43121             :                                 {
   43122             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43123             : 
   43124             :                     n->objectType = OBJECT_SEQUENCE;
   43125             :                     n->relation = (yyvsp[-3].range);
   43126             :                     n->newschema = (yyvsp[0].str);
   43127             :                     n->missing_ok = false;
   43128             :                     (yyval.node) = (Node *) n;
   43129             :                 }
   43130             : #line 43131 "gram.c"
   43131           8 :     break;
   43132             : 
   43133           0 :   case 1360: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name  */
   43134             : #line 10250 "gram.y"
   43135             :                                 {
   43136             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43137             : 
   43138             :                     n->objectType = OBJECT_SEQUENCE;
   43139             :                     n->relation = (yyvsp[-3].range);
   43140             :                     n->newschema = (yyvsp[0].str);
   43141             :                     n->missing_ok = true;
   43142             :                     (yyval.node) = (Node *) n;
   43143             :                 }
   43144             : #line 43145 "gram.c"
   43145           0 :     break;
   43146             : 
   43147           0 :   case 1361: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name  */
   43148             : #line 10260 "gram.y"
   43149             :                                 {
   43150             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43151             : 
   43152             :                     n->objectType = OBJECT_VIEW;
   43153             :                     n->relation = (yyvsp[-3].range);
   43154             :                     n->newschema = (yyvsp[0].str);
   43155             :                     n->missing_ok = false;
   43156             :                     (yyval.node) = (Node *) n;
   43157             :                 }
   43158             : #line 43159 "gram.c"
   43159           0 :     break;
   43160             : 
   43161           0 :   case 1362: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43162             : #line 10270 "gram.y"
   43163             :                                 {
   43164             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43165             : 
   43166             :                     n->objectType = OBJECT_VIEW;
   43167             :                     n->relation = (yyvsp[-3].range);
   43168             :                     n->newschema = (yyvsp[0].str);
   43169             :                     n->missing_ok = true;
   43170             :                     (yyval.node) = (Node *) n;
   43171             :                 }
   43172             : #line 43173 "gram.c"
   43173           0 :     break;
   43174             : 
   43175           6 :   case 1363: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name  */
   43176             : #line 10280 "gram.y"
   43177             :                                 {
   43178             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43179             : 
   43180             :                     n->objectType = OBJECT_MATVIEW;
   43181             :                     n->relation = (yyvsp[-3].range);
   43182             :                     n->newschema = (yyvsp[0].str);
   43183             :                     n->missing_ok = false;
   43184             :                     (yyval.node) = (Node *) n;
   43185             :                 }
   43186             : #line 43187 "gram.c"
   43187           6 :     break;
   43188             : 
   43189           0 :   case 1364: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name  */
   43190             : #line 10290 "gram.y"
   43191             :                                 {
   43192             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43193             : 
   43194             :                     n->objectType = OBJECT_MATVIEW;
   43195             :                     n->relation = (yyvsp[-3].range);
   43196             :                     n->newschema = (yyvsp[0].str);
   43197             :                     n->missing_ok = true;
   43198             :                     (yyval.node) = (Node *) n;
   43199             :                 }
   43200             : #line 43201 "gram.c"
   43201           0 :     break;
   43202             : 
   43203           6 :   case 1365: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name  */
   43204             : #line 10300 "gram.y"
   43205             :                                 {
   43206             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43207             : 
   43208             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43209             :                     n->relation = (yyvsp[-3].range);
   43210             :                     n->newschema = (yyvsp[0].str);
   43211             :                     n->missing_ok = false;
   43212             :                     (yyval.node) = (Node *) n;
   43213             :                 }
   43214             : #line 43215 "gram.c"
   43215           6 :     break;
   43216             : 
   43217           6 :   case 1366: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name  */
   43218             : #line 10310 "gram.y"
   43219             :                                 {
   43220             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43221             : 
   43222             :                     n->objectType = OBJECT_FOREIGN_TABLE;
   43223             :                     n->relation = (yyvsp[-3].range);
   43224             :                     n->newschema = (yyvsp[0].str);
   43225             :                     n->missing_ok = true;
   43226             :                     (yyval.node) = (Node *) n;
   43227             :                 }
   43228             : #line 43229 "gram.c"
   43229           6 :     break;
   43230             : 
   43231          12 :   case 1367: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name  */
   43232             : #line 10320 "gram.y"
   43233             :                                 {
   43234             :                     AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
   43235             : 
   43236             :                     n->objectType = OBJECT_TYPE;
   43237             :                     n->object = (Node *) (yyvsp[-3].list);
   43238             :                     n->newschema = (yyvsp[0].str);
   43239             :                     n->missing_ok = false;
   43240             :                     (yyval.node) = (Node *) n;
   43241             :                 }
   43242             : #line 43243 "gram.c"
   43243          12 :     break;
   43244             : 
   43245         608 :   case 1368: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')'  */
   43246             : #line 10339 "gram.y"
   43247             :                                 {
   43248             :                     AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
   43249             : 
   43250             :                     n->opername = (yyvsp[-4].objwithargs);
   43251             :                     n->options = (yyvsp[-1].list);
   43252             :                     (yyval.node) = (Node *) n;
   43253             :                 }
   43254             : #line 43255 "gram.c"
   43255         608 :     break;
   43256             : 
   43257         668 :   case 1369: /* operator_def_list: operator_def_elem  */
   43258             : #line 10348 "gram.y"
   43259             :                                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   43260             : #line 43261 "gram.c"
   43261         668 :     break;
   43262             : 
   43263         506 :   case 1370: /* operator_def_list: operator_def_list ',' operator_def_elem  */
   43264             : #line 10349 "gram.y"
   43265             :                                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   43266             : #line 43267 "gram.c"
   43267         506 :     break;
   43268             : 
   43269          30 :   case 1371: /* operator_def_elem: ColLabel '=' NONE  */
   43270             : #line 10353 "gram.y"
   43271             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
   43272             : #line 43273 "gram.c"
   43273          30 :     break;
   43274             : 
   43275        1110 :   case 1372: /* operator_def_elem: ColLabel '=' operator_def_arg  */
   43276             : #line 10355 "gram.y"
   43277             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
   43278             : #line 43279 "gram.c"
   43279        1110 :     break;
   43280             : 
   43281          34 :   case 1373: /* operator_def_elem: ColLabel  */
   43282             : #line 10357 "gram.y"
   43283             :                                                 { (yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0])); }
   43284             : #line 43285 "gram.c"
   43285          34 :     break;
   43286             : 
   43287        1032 :   case 1374: /* operator_def_arg: func_type  */
   43288             : #line 10362 "gram.y"
   43289             :                                                                                 { (yyval.node) = (Node *) (yyvsp[0].typnam); }
   43290             : #line 43291 "gram.c"
   43291        1032 :     break;
   43292             : 
   43293          24 :   case 1375: /* operator_def_arg: reserved_keyword  */
   43294             : #line 10363 "gram.y"
   43295             :                                                                         { (yyval.node) = (Node *) makeString(pstrdup((yyvsp[0].keyword))); }
   43296             : #line 43297 "gram.c"
   43297          24 :     break;
   43298             : 
   43299          54 :   case 1376: /* operator_def_arg: qual_all_Op  */
   43300             : #line 10364 "gram.y"
   43301             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].list); }
   43302             : #line 43303 "gram.c"
   43303          54 :     break;
   43304             : 
   43305           0 :   case 1377: /* operator_def_arg: NumericOnly  */
   43306             : #line 10365 "gram.y"
   43307             :                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   43308             : #line 43309 "gram.c"
   43309           0 :     break;
   43310             : 
   43311           0 :   case 1378: /* operator_def_arg: Sconst  */
   43312             : #line 10366 "gram.y"
   43313             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   43314             : #line 43315 "gram.c"
   43315           0 :     break;
   43316             : 
   43317          60 :   case 1379: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')'  */
   43318             : #line 10379 "gram.y"
   43319             :                                 {
   43320             :                     AlterTypeStmt *n = makeNode(AlterTypeStmt);
   43321             : 
   43322             :                     n->typeName = (yyvsp[-4].list);
   43323             :                     n->options = (yyvsp[-1].list);
   43324             :                     (yyval.node) = (Node *) n;
   43325             :                 }
   43326             : #line 43327 "gram.c"
   43327          60 :     break;
   43328             : 
   43329         236 :   case 1380: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec  */
   43330             : #line 10395 "gram.y"
   43331             :                                 {
   43332             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43333             : 
   43334             :                     n->objectType = OBJECT_AGGREGATE;
   43335             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43336             :                     n->newowner = (yyvsp[0].rolespec);
   43337             :                     (yyval.node) = (Node *) n;
   43338             :                 }
   43339             : #line 43340 "gram.c"
   43340         236 :     break;
   43341             : 
   43342          24 :   case 1381: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec  */
   43343             : #line 10404 "gram.y"
   43344             :                                 {
   43345             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43346             : 
   43347             :                     n->objectType = OBJECT_COLLATION;
   43348             :                     n->object = (Node *) (yyvsp[-3].list);
   43349             :                     n->newowner = (yyvsp[0].rolespec);
   43350             :                     (yyval.node) = (Node *) n;
   43351             :                 }
   43352             : #line 43353 "gram.c"
   43353          24 :     break;
   43354             : 
   43355          24 :   case 1382: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec  */
   43356             : #line 10413 "gram.y"
   43357             :                                 {
   43358             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43359             : 
   43360             :                     n->objectType = OBJECT_CONVERSION;
   43361             :                     n->object = (Node *) (yyvsp[-3].list);
   43362             :                     n->newowner = (yyvsp[0].rolespec);
   43363             :                     (yyval.node) = (Node *) n;
   43364             :                 }
   43365             : #line 43366 "gram.c"
   43366          24 :     break;
   43367             : 
   43368          80 :   case 1383: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec  */
   43369             : #line 10422 "gram.y"
   43370             :                                 {
   43371             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43372             : 
   43373             :                     n->objectType = OBJECT_DATABASE;
   43374             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43375             :                     n->newowner = (yyvsp[0].rolespec);
   43376             :                     (yyval.node) = (Node *) n;
   43377             :                 }
   43378             : #line 43379 "gram.c"
   43379          80 :     break;
   43380             : 
   43381          92 :   case 1384: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec  */
   43382             : #line 10431 "gram.y"
   43383             :                                 {
   43384             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43385             : 
   43386             :                     n->objectType = OBJECT_DOMAIN;
   43387             :                     n->object = (Node *) (yyvsp[-3].list);
   43388             :                     n->newowner = (yyvsp[0].rolespec);
   43389             :                     (yyval.node) = (Node *) n;
   43390             :                 }
   43391             : #line 43392 "gram.c"
   43392          92 :     break;
   43393             : 
   43394        1114 :   case 1385: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec  */
   43395             : #line 10440 "gram.y"
   43396             :                                 {
   43397             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43398             : 
   43399             :                     n->objectType = OBJECT_FUNCTION;
   43400             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43401             :                     n->newowner = (yyvsp[0].rolespec);
   43402             :                     (yyval.node) = (Node *) n;
   43403             :                 }
   43404             : #line 43405 "gram.c"
   43405        1114 :     break;
   43406             : 
   43407         140 :   case 1386: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec  */
   43408             : #line 10449 "gram.y"
   43409             :                                 {
   43410             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43411             : 
   43412             :                     n->objectType = OBJECT_LANGUAGE;
   43413             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43414             :                     n->newowner = (yyvsp[0].rolespec);
   43415             :                     (yyval.node) = (Node *) n;
   43416             :                 }
   43417             : #line 43418 "gram.c"
   43418         140 :     break;
   43419             : 
   43420          18 :   case 1387: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec  */
   43421             : #line 10458 "gram.y"
   43422             :                                 {
   43423             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43424             : 
   43425             :                     n->objectType = OBJECT_LARGEOBJECT;
   43426             :                     n->object = (Node *) (yyvsp[-3].node);
   43427             :                     n->newowner = (yyvsp[0].rolespec);
   43428             :                     (yyval.node) = (Node *) n;
   43429             :                 }
   43430             : #line 43431 "gram.c"
   43431          18 :     break;
   43432             : 
   43433          68 :   case 1388: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec  */
   43434             : #line 10467 "gram.y"
   43435             :                                 {
   43436             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43437             : 
   43438             :                     n->objectType = OBJECT_OPERATOR;
   43439             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43440             :                     n->newowner = (yyvsp[0].rolespec);
   43441             :                     (yyval.node) = (Node *) n;
   43442             :                 }
   43443             : #line 43444 "gram.c"
   43444          68 :     break;
   43445             : 
   43446          60 :   case 1389: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec  */
   43447             : #line 10476 "gram.y"
   43448             :                                 {
   43449             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43450             : 
   43451             :                     n->objectType = OBJECT_OPCLASS;
   43452             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43453             :                     n->newowner = (yyvsp[0].rolespec);
   43454             :                     (yyval.node) = (Node *) n;
   43455             :                 }
   43456             : #line 43457 "gram.c"
   43457          60 :     break;
   43458             : 
   43459          76 :   case 1390: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec  */
   43460             : #line 10485 "gram.y"
   43461             :                                 {
   43462             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43463             : 
   43464             :                     n->objectType = OBJECT_OPFAMILY;
   43465             :                     n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
   43466             :                     n->newowner = (yyvsp[0].rolespec);
   43467             :                     (yyval.node) = (Node *) n;
   43468             :                 }
   43469             : #line 43470 "gram.c"
   43470          76 :     break;
   43471             : 
   43472          48 :   case 1391: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec  */
   43473             : #line 10494 "gram.y"
   43474             :                                 {
   43475             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43476             : 
   43477             :                     n->objectType = OBJECT_PROCEDURE;
   43478             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43479             :                     n->newowner = (yyvsp[0].rolespec);
   43480             :                     (yyval.node) = (Node *) n;
   43481             :                 }
   43482             : #line 43483 "gram.c"
   43483          48 :     break;
   43484             : 
   43485           0 :   case 1392: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec  */
   43486             : #line 10503 "gram.y"
   43487             :                                 {
   43488             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43489             : 
   43490             :                     n->objectType = OBJECT_ROUTINE;
   43491             :                     n->object = (Node *) (yyvsp[-3].objwithargs);
   43492             :                     n->newowner = (yyvsp[0].rolespec);
   43493             :                     (yyval.node) = (Node *) n;
   43494             :                 }
   43495             : #line 43496 "gram.c"
   43496           0 :     break;
   43497             : 
   43498          78 :   case 1393: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec  */
   43499             : #line 10512 "gram.y"
   43500             :                                 {
   43501             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43502             : 
   43503             :                     n->objectType = OBJECT_SCHEMA;
   43504             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43505             :                     n->newowner = (yyvsp[0].rolespec);
   43506             :                     (yyval.node) = (Node *) n;
   43507             :                 }
   43508             : #line 43509 "gram.c"
   43509          78 :     break;
   43510             : 
   43511         152 :   case 1394: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec  */
   43512             : #line 10521 "gram.y"
   43513             :                                 {
   43514             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43515             : 
   43516             :                     n->objectType = OBJECT_TYPE;
   43517             :                     n->object = (Node *) (yyvsp[-3].list);
   43518             :                     n->newowner = (yyvsp[0].rolespec);
   43519             :                     (yyval.node) = (Node *) n;
   43520             :                 }
   43521             : #line 43522 "gram.c"
   43522         152 :     break;
   43523             : 
   43524           6 :   case 1395: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec  */
   43525             : #line 10530 "gram.y"
   43526             :                                 {
   43527             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43528             : 
   43529             :                     n->objectType = OBJECT_TABLESPACE;
   43530             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43531             :                     n->newowner = (yyvsp[0].rolespec);
   43532             :                     (yyval.node) = (Node *) n;
   43533             :                 }
   43534             : #line 43535 "gram.c"
   43535           6 :     break;
   43536             : 
   43537          40 :   case 1396: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec  */
   43538             : #line 10539 "gram.y"
   43539             :                                 {
   43540             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43541             : 
   43542             :                     n->objectType = OBJECT_STATISTIC_EXT;
   43543             :                     n->object = (Node *) (yyvsp[-3].list);
   43544             :                     n->newowner = (yyvsp[0].rolespec);
   43545             :                     (yyval.node) = (Node *) n;
   43546             :                 }
   43547             : #line 43548 "gram.c"
   43548          40 :     break;
   43549             : 
   43550          60 :   case 1397: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec  */
   43551             : #line 10548 "gram.y"
   43552             :                                 {
   43553             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43554             : 
   43555             :                     n->objectType = OBJECT_TSDICTIONARY;
   43556             :                     n->object = (Node *) (yyvsp[-3].list);
   43557             :                     n->newowner = (yyvsp[0].rolespec);
   43558             :                     (yyval.node) = (Node *) n;
   43559             :                 }
   43560             : #line 43561 "gram.c"
   43561          60 :     break;
   43562             : 
   43563          40 :   case 1398: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec  */
   43564             : #line 10557 "gram.y"
   43565             :                                 {
   43566             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43567             : 
   43568             :                     n->objectType = OBJECT_TSCONFIGURATION;
   43569             :                     n->object = (Node *) (yyvsp[-3].list);
   43570             :                     n->newowner = (yyvsp[0].rolespec);
   43571             :                     (yyval.node) = (Node *) n;
   43572             :                 }
   43573             : #line 43574 "gram.c"
   43574          40 :     break;
   43575             : 
   43576          22 :   case 1399: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec  */
   43577             : #line 10566 "gram.y"
   43578             :                                 {
   43579             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43580             : 
   43581             :                     n->objectType = OBJECT_FDW;
   43582             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43583             :                     n->newowner = (yyvsp[0].rolespec);
   43584             :                     (yyval.node) = (Node *) n;
   43585             :                 }
   43586             : #line 43587 "gram.c"
   43587          22 :     break;
   43588             : 
   43589          70 :   case 1400: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec  */
   43590             : #line 10575 "gram.y"
   43591             :                                 {
   43592             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43593             : 
   43594             :                     n->objectType = OBJECT_FOREIGN_SERVER;
   43595             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43596             :                     n->newowner = (yyvsp[0].rolespec);
   43597             :                     (yyval.node) = (Node *) n;
   43598             :                 }
   43599             : #line 43600 "gram.c"
   43600          70 :     break;
   43601             : 
   43602          16 :   case 1401: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec  */
   43603             : #line 10584 "gram.y"
   43604             :                                 {
   43605             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43606             : 
   43607             :                     n->objectType = OBJECT_EVENT_TRIGGER;
   43608             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43609             :                     n->newowner = (yyvsp[0].rolespec);
   43610             :                     (yyval.node) = (Node *) n;
   43611             :                 }
   43612             : #line 43613 "gram.c"
   43613          16 :     break;
   43614             : 
   43615          26 :   case 1402: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec  */
   43616             : #line 10593 "gram.y"
   43617             :                                 {
   43618             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43619             : 
   43620             :                     n->objectType = OBJECT_PUBLICATION;
   43621             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43622             :                     n->newowner = (yyvsp[0].rolespec);
   43623             :                     (yyval.node) = (Node *) n;
   43624             :                 }
   43625             : #line 43626 "gram.c"
   43626          26 :     break;
   43627             : 
   43628          18 :   case 1403: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec  */
   43629             : #line 10602 "gram.y"
   43630             :                                 {
   43631             :                     AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
   43632             : 
   43633             :                     n->objectType = OBJECT_SUBSCRIPTION;
   43634             :                     n->object = (Node *) makeString((yyvsp[-3].str));
   43635             :                     n->newowner = (yyvsp[0].rolespec);
   43636             :                     (yyval.node) = (Node *) n;
   43637             :                 }
   43638             : #line 43639 "gram.c"
   43639          18 :     break;
   43640             : 
   43641         126 :   case 1404: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition  */
   43642             : #line 10630 "gram.y"
   43643             :                                 {
   43644             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43645             : 
   43646             :                     n->pubname = (yyvsp[-1].str);
   43647             :                     n->options = (yyvsp[0].list);
   43648             :                     (yyval.node) = (Node *) n;
   43649             :                 }
   43650             : #line 43651 "gram.c"
   43651         126 :     break;
   43652             : 
   43653          94 :   case 1405: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition  */
   43654             : #line 10638 "gram.y"
   43655             :                                 {
   43656             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43657             : 
   43658             :                     n->pubname = (yyvsp[-4].str);
   43659             :                     n->options = (yyvsp[0].list);
   43660             :                     n->for_all_tables = true;
   43661             :                     (yyval.node) = (Node *) n;
   43662             :                 }
   43663             : #line 43664 "gram.c"
   43664          94 :     break;
   43665             : 
   43666         624 :   case 1406: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition  */
   43667             : #line 10647 "gram.y"
   43668             :                                 {
   43669             :                     CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
   43670             : 
   43671             :                     n->pubname = (yyvsp[-3].str);
   43672             :                     n->options = (yyvsp[0].list);
   43673             :                     n->pubobjects = (List *) (yyvsp[-1].list);
   43674             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43675             :                     (yyval.node) = (Node *) n;
   43676             :                 }
   43677             : #line 43678 "gram.c"
   43678         594 :     break;
   43679             : 
   43680        1276 :   case 1407: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause  */
   43681             : #line 10673 "gram.y"
   43682             :                                 {
   43683             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43684             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLE;
   43685             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43686             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   43687             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43688             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43689             :                 }
   43690             : #line 43691 "gram.c"
   43691        1276 :     break;
   43692             : 
   43693         332 :   case 1408: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId  */
   43694             : #line 10682 "gram.y"
   43695             :                                 {
   43696             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43697             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   43698             :                     (yyval.publicationobjectspec)->name = (yyvsp[0].str);
   43699             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43700             :                 }
   43701             : #line 43702 "gram.c"
   43702         332 :     break;
   43703             : 
   43704          18 :   case 1409: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA  */
   43705             : #line 10689 "gram.y"
   43706             :                                 {
   43707             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43708             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   43709             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43710             :                 }
   43711             : #line 43712 "gram.c"
   43712          18 :     break;
   43713             : 
   43714         130 :   case 1410: /* PublicationObjSpec: ColId opt_column_list OptWhereClause  */
   43715             : #line 10695 "gram.y"
   43716             :                                 {
   43717             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43718             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43719             :                     /*
   43720             :                      * If either a row filter or column list is specified, create
   43721             :                      * a PublicationTable object.
   43722             :                      */
   43723             :                     if ((yyvsp[-1].list) || (yyvsp[0].node))
   43724             :                     {
   43725             :                         /*
   43726             :                          * The OptWhereClause must be stored here but it is
   43727             :                          * valid only for tables. For non-table objects, an
   43728             :                          * error will be thrown later via
   43729             :                          * preprocess_pubobj_list().
   43730             :                          */
   43731             :                         (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43732             :                         (yyval.publicationobjectspec)->pubtable->relation = makeRangeVar(NULL, (yyvsp[-2].str), (yylsp[-2]));
   43733             :                         (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43734             :                         (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43735             :                     }
   43736             :                     else
   43737             :                     {
   43738             :                         (yyval.publicationobjectspec)->name = (yyvsp[-2].str);
   43739             :                     }
   43740             :                     (yyval.publicationobjectspec)->location = (yylsp[-2]);
   43741             :                 }
   43742             : #line 43743 "gram.c"
   43743         130 :     break;
   43744             : 
   43745          32 :   case 1411: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause  */
   43746             : #line 10722 "gram.y"
   43747             :                                 {
   43748             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43749             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43750             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43751             :                     (yyval.publicationobjectspec)->pubtable->relation = makeRangeVarFromQualifiedName((yyvsp[-3].str), (yyvsp[-2].list), (yylsp[-3]), yyscanner);
   43752             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43753             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43754             :                     (yyval.publicationobjectspec)->location = (yylsp[-3]);
   43755             :                 }
   43756             : #line 43757 "gram.c"
   43757          32 :     break;
   43758             : 
   43759           6 :   case 1412: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause  */
   43760             : #line 10733 "gram.y"
   43761             :                                 {
   43762             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43763             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43764             :                     (yyval.publicationobjectspec)->pubtable = makeNode(PublicationTable);
   43765             :                     (yyval.publicationobjectspec)->pubtable->relation = (yyvsp[-2].range);
   43766             :                     (yyval.publicationobjectspec)->pubtable->columns = (yyvsp[-1].list);
   43767             :                     (yyval.publicationobjectspec)->pubtable->whereClause = (yyvsp[0].node);
   43768             :                 }
   43769             : #line 43770 "gram.c"
   43770           6 :     break;
   43771             : 
   43772          18 :   case 1413: /* PublicationObjSpec: CURRENT_SCHEMA  */
   43773             : #line 10742 "gram.y"
   43774             :                                 {
   43775             :                     (yyval.publicationobjectspec) = makeNode(PublicationObjSpec);
   43776             :                     (yyval.publicationobjectspec)->pubobjtype = PUBLICATIONOBJ_CONTINUATION;
   43777             :                     (yyval.publicationobjectspec)->location = (yylsp[0]);
   43778             :                 }
   43779             : #line 43780 "gram.c"
   43780          18 :     break;
   43781             : 
   43782        1588 :   case 1414: /* pub_obj_list: PublicationObjSpec  */
   43783             : #line 10750 "gram.y"
   43784             :                                         { (yyval.list) = list_make1((yyvsp[0].publicationobjectspec)); }
   43785             : #line 43786 "gram.c"
   43786        1588 :     break;
   43787             : 
   43788         224 :   case 1415: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec  */
   43789             : #line 10752 "gram.y"
   43790             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].publicationobjectspec)); }
   43791             : #line 43792 "gram.c"
   43792         224 :     break;
   43793             : 
   43794         116 :   case 1416: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition  */
   43795             : #line 10774 "gram.y"
   43796             :                                 {
   43797             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43798             : 
   43799             :                     n->pubname = (yyvsp[-2].str);
   43800             :                     n->options = (yyvsp[0].list);
   43801             :                     (yyval.node) = (Node *) n;
   43802             :                 }
   43803             : #line 43804 "gram.c"
   43804         116 :     break;
   43805             : 
   43806         346 :   case 1417: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list  */
   43807             : #line 10782 "gram.y"
   43808             :                                 {
   43809             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43810             : 
   43811             :                     n->pubname = (yyvsp[-2].str);
   43812             :                     n->pubobjects = (yyvsp[0].list);
   43813             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43814             :                     n->action = AP_AddObjects;
   43815             :                     (yyval.node) = (Node *) n;
   43816             :                 }
   43817             : #line 43818 "gram.c"
   43818         340 :     break;
   43819             : 
   43820         464 :   case 1418: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list  */
   43821             : #line 10792 "gram.y"
   43822             :                                 {
   43823             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43824             : 
   43825             :                     n->pubname = (yyvsp[-2].str);
   43826             :                     n->pubobjects = (yyvsp[0].list);
   43827             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43828             :                     n->action = AP_SetObjects;
   43829             :                     (yyval.node) = (Node *) n;
   43830             :                 }
   43831             : #line 43832 "gram.c"
   43832         464 :     break;
   43833             : 
   43834         154 :   case 1419: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list  */
   43835             : #line 10802 "gram.y"
   43836             :                                 {
   43837             :                     AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
   43838             : 
   43839             :                     n->pubname = (yyvsp[-2].str);
   43840             :                     n->pubobjects = (yyvsp[0].list);
   43841             :                     preprocess_pubobj_list(n->pubobjects, yyscanner);
   43842             :                     n->action = AP_DropObjects;
   43843             :                     (yyval.node) = (Node *) n;
   43844             :                 }
   43845             : #line 43846 "gram.c"
   43846         154 :     break;
   43847             : 
   43848         448 :   case 1420: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION Sconst PUBLICATION name_list opt_definition  */
   43849             : #line 10821 "gram.y"
   43850             :                                 {
   43851             :                     CreateSubscriptionStmt *n =
   43852             :                         makeNode(CreateSubscriptionStmt);
   43853             :                     n->subname = (yyvsp[-5].str);
   43854             :                     n->conninfo = (yyvsp[-3].str);
   43855             :                     n->publication = (yyvsp[-1].list);
   43856             :                     n->options = (yyvsp[0].list);
   43857             :                     (yyval.node) = (Node *) n;
   43858             :                 }
   43859             : #line 43860 "gram.c"
   43860         448 :     break;
   43861             : 
   43862         186 :   case 1421: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition  */
   43863             : #line 10840 "gram.y"
   43864             :                                 {
   43865             :                     AlterSubscriptionStmt *n =
   43866             :                         makeNode(AlterSubscriptionStmt);
   43867             : 
   43868             :                     n->kind = ALTER_SUBSCRIPTION_OPTIONS;
   43869             :                     n->subname = (yyvsp[-2].str);
   43870             :                     n->options = (yyvsp[0].list);
   43871             :                     (yyval.node) = (Node *) n;
   43872             :                 }
   43873             : #line 43874 "gram.c"
   43874         186 :     break;
   43875             : 
   43876          26 :   case 1422: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION Sconst  */
   43877             : #line 10850 "gram.y"
   43878             :                                 {
   43879             :                     AlterSubscriptionStmt *n =
   43880             :                         makeNode(AlterSubscriptionStmt);
   43881             : 
   43882             :                     n->kind = ALTER_SUBSCRIPTION_CONNECTION;
   43883             :                     n->subname = (yyvsp[-2].str);
   43884             :                     n->conninfo = (yyvsp[0].str);
   43885             :                     (yyval.node) = (Node *) n;
   43886             :                 }
   43887             : #line 43888 "gram.c"
   43888          26 :     break;
   43889             : 
   43890          58 :   case 1423: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition  */
   43891             : #line 10860 "gram.y"
   43892             :                                 {
   43893             :                     AlterSubscriptionStmt *n =
   43894             :                         makeNode(AlterSubscriptionStmt);
   43895             : 
   43896             :                     n->kind = ALTER_SUBSCRIPTION_REFRESH;
   43897             :                     n->subname = (yyvsp[-3].str);
   43898             :                     n->options = (yyvsp[0].list);
   43899             :                     (yyval.node) = (Node *) n;
   43900             :                 }
   43901             : #line 43902 "gram.c"
   43902          58 :     break;
   43903             : 
   43904          28 :   case 1424: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition  */
   43905             : #line 10870 "gram.y"
   43906             :                                 {
   43907             :                     AlterSubscriptionStmt *n =
   43908             :                         makeNode(AlterSubscriptionStmt);
   43909             : 
   43910             :                     n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
   43911             :                     n->subname = (yyvsp[-4].str);
   43912             :                     n->publication = (yyvsp[-1].list);
   43913             :                     n->options = (yyvsp[0].list);
   43914             :                     (yyval.node) = (Node *) n;
   43915             :                 }
   43916             : #line 43917 "gram.c"
   43917          28 :     break;
   43918             : 
   43919          26 :   case 1425: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition  */
   43920             : #line 10881 "gram.y"
   43921             :                                 {
   43922             :                     AlterSubscriptionStmt *n =
   43923             :                         makeNode(AlterSubscriptionStmt);
   43924             : 
   43925             :                     n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
   43926             :                     n->subname = (yyvsp[-4].str);
   43927             :                     n->publication = (yyvsp[-1].list);
   43928             :                     n->options = (yyvsp[0].list);
   43929             :                     (yyval.node) = (Node *) n;
   43930             :                 }
   43931             : #line 43932 "gram.c"
   43932          26 :     break;
   43933             : 
   43934          44 :   case 1426: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition  */
   43935             : #line 10892 "gram.y"
   43936             :                                 {
   43937             :                     AlterSubscriptionStmt *n =
   43938             :                         makeNode(AlterSubscriptionStmt);
   43939             : 
   43940             :                     n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
   43941             :                     n->subname = (yyvsp[-4].str);
   43942             :                     n->publication = (yyvsp[-1].list);
   43943             :                     n->options = (yyvsp[0].list);
   43944             :                     (yyval.node) = (Node *) n;
   43945             :                 }
   43946             : #line 43947 "gram.c"
   43947          44 :     break;
   43948             : 
   43949          50 :   case 1427: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P  */
   43950             : #line 10903 "gram.y"
   43951             :                                 {
   43952             :                     AlterSubscriptionStmt *n =
   43953             :                         makeNode(AlterSubscriptionStmt);
   43954             : 
   43955             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   43956             :                     n->subname = (yyvsp[-1].str);
   43957             :                     n->options = list_make1(makeDefElem("enabled",
   43958             :                                             (Node *) makeBoolean(true), (yylsp[-3])));
   43959             :                     (yyval.node) = (Node *) n;
   43960             :                 }
   43961             : #line 43962 "gram.c"
   43962          50 :     break;
   43963             : 
   43964          34 :   case 1428: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P  */
   43965             : #line 10914 "gram.y"
   43966             :                                 {
   43967             :                     AlterSubscriptionStmt *n =
   43968             :                         makeNode(AlterSubscriptionStmt);
   43969             : 
   43970             :                     n->kind = ALTER_SUBSCRIPTION_ENABLED;
   43971             :                     n->subname = (yyvsp[-1].str);
   43972             :                     n->options = list_make1(makeDefElem("enabled",
   43973             :                                             (Node *) makeBoolean(false), (yylsp[-3])));
   43974             :                     (yyval.node) = (Node *) n;
   43975             :                 }
   43976             : #line 43977 "gram.c"
   43977          34 :     break;
   43978             : 
   43979          24 :   case 1429: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition  */
   43980             : #line 10925 "gram.y"
   43981             :                                 {
   43982             :                     AlterSubscriptionStmt *n =
   43983             :                         makeNode(AlterSubscriptionStmt);
   43984             : 
   43985             :                     n->kind = ALTER_SUBSCRIPTION_SKIP;
   43986             :                     n->subname = (yyvsp[-2].str);
   43987             :                     n->options = (yyvsp[0].list);
   43988             :                     (yyval.node) = (Node *) n;
   43989             :                 }
   43990             : #line 43991 "gram.c"
   43991          24 :     break;
   43992             : 
   43993         222 :   case 1430: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior  */
   43994             : #line 10943 "gram.y"
   43995             :                                 {
   43996             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   43997             : 
   43998             :                     n->subname = (yyvsp[-1].str);
   43999             :                     n->missing_ok = false;
   44000             :                     n->behavior = (yyvsp[0].dbehavior);
   44001             :                     (yyval.node) = (Node *) n;
   44002             :                 }
   44003             : #line 44004 "gram.c"
   44004         222 :     break;
   44005             : 
   44006           6 :   case 1431: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior  */
   44007             : #line 10952 "gram.y"
   44008             :                                 {
   44009             :                     DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
   44010             : 
   44011             :                     n->subname = (yyvsp[-1].str);
   44012             :                     n->missing_ok = true;
   44013             :                     n->behavior = (yyvsp[0].dbehavior);
   44014             :                     (yyval.node) = (Node *) n;
   44015             :                 }
   44016             : #line 44017 "gram.c"
   44017           6 :     break;
   44018             : 
   44019        1166 :   case 1432: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList  */
   44020             : #line 10971 "gram.y"
   44021             :                                 {
   44022             :                     RuleStmt   *n = makeNode(RuleStmt);
   44023             : 
   44024             :                     n->replace = (yyvsp[-11].boolean);
   44025             :                     n->relation = (yyvsp[-4].range);
   44026             :                     n->rulename = (yyvsp[-9].str);
   44027             :                     n->whereClause = (yyvsp[-3].node);
   44028             :                     n->event = (yyvsp[-6].ival);
   44029             :                     n->instead = (yyvsp[-1].boolean);
   44030             :                     n->actions = (yyvsp[0].list);
   44031             :                     (yyval.node) = (Node *) n;
   44032             :                 }
   44033             : #line 44034 "gram.c"
   44034        1166 :     break;
   44035             : 
   44036         166 :   case 1433: /* RuleActionList: NOTHING  */
   44037             : #line 10986 "gram.y"
   44038             :                                                                                                 { (yyval.list) = NIL; }
   44039             : #line 44040 "gram.c"
   44040         166 :     break;
   44041             : 
   44042         950 :   case 1434: /* RuleActionList: RuleActionStmt  */
   44043             : #line 10987 "gram.y"
   44044             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   44045             : #line 44046 "gram.c"
   44046         950 :     break;
   44047             : 
   44048          50 :   case 1435: /* RuleActionList: '(' RuleActionMulti ')'  */
   44049             : #line 10988 "gram.y"
   44050             :                                                                                 { (yyval.list) = (yyvsp[-1].list); }
   44051             : #line 44052 "gram.c"
   44052          50 :     break;
   44053             : 
   44054          70 :   case 1436: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty  */
   44055             : #line 10994 "gram.y"
   44056             :                                 { if ((yyvsp[0].node) != NULL)
   44057             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   44058             :                   else
   44059             :                     (yyval.list) = (yyvsp[-2].list);
   44060             :                 }
   44061             : #line 44062 "gram.c"
   44062          70 :     break;
   44063             : 
   44064          50 :   case 1437: /* RuleActionMulti: RuleActionStmtOrEmpty  */
   44065             : #line 11000 "gram.y"
   44066             :                                 { if ((yyvsp[0].node) != NULL)
   44067             :                     (yyval.list) = list_make1((yyvsp[0].node));
   44068             :                   else
   44069             :                     (yyval.list) = NIL;
   44070             :                 }
   44071             : #line 44072 "gram.c"
   44072          50 :     break;
   44073             : 
   44074         100 :   case 1443: /* RuleActionStmtOrEmpty: RuleActionStmt  */
   44075             : #line 11016 "gram.y"
   44076             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   44077             : #line 44078 "gram.c"
   44078         100 :     break;
   44079             : 
   44080          20 :   case 1444: /* RuleActionStmtOrEmpty: %empty  */
   44081             : #line 11017 "gram.y"
   44082             :                                                                                                 { (yyval.node) = NULL; }
   44083             : #line 44084 "gram.c"
   44084          20 :     break;
   44085             : 
   44086          18 :   case 1445: /* event: SELECT  */
   44087             : #line 11020 "gram.y"
   44088             :                                                                                         { (yyval.ival) = CMD_SELECT; }
   44089             : #line 44090 "gram.c"
   44090          18 :     break;
   44091             : 
   44092         448 :   case 1446: /* event: UPDATE  */
   44093             : #line 11021 "gram.y"
   44094             :                                                                                                 { (yyval.ival) = CMD_UPDATE; }
   44095             : #line 44096 "gram.c"
   44096         448 :     break;
   44097             : 
   44098         180 :   case 1447: /* event: DELETE_P  */
   44099             : #line 11022 "gram.y"
   44100             :                                                                                                 { (yyval.ival) = CMD_DELETE; }
   44101             : #line 44102 "gram.c"
   44102         180 :     break;
   44103             : 
   44104         520 :   case 1448: /* event: INSERT  */
   44105             : #line 11023 "gram.y"
   44106             :                                                                                                 { (yyval.ival) = CMD_INSERT; }
   44107             : #line 44108 "gram.c"
   44108         520 :     break;
   44109             : 
   44110         798 :   case 1449: /* opt_instead: INSTEAD  */
   44111             : #line 11027 "gram.y"
   44112             :                                                                                                 { (yyval.boolean) = true; }
   44113             : #line 44114 "gram.c"
   44114         798 :     break;
   44115             : 
   44116         156 :   case 1450: /* opt_instead: ALSO  */
   44117             : #line 11028 "gram.y"
   44118             :                                                                                                 { (yyval.boolean) = false; }
   44119             : #line 44120 "gram.c"
   44120         156 :     break;
   44121             : 
   44122         212 :   case 1451: /* opt_instead: %empty  */
   44123             : #line 11029 "gram.y"
   44124             :                                                                                                 { (yyval.boolean) = false; }
   44125             : #line 44126 "gram.c"
   44126         212 :     break;
   44127             : 
   44128         130 :   case 1452: /* NotifyStmt: NOTIFY ColId notify_payload  */
   44129             : #line 11042 "gram.y"
   44130             :                                 {
   44131             :                     NotifyStmt *n = makeNode(NotifyStmt);
   44132             : 
   44133             :                     n->conditionname = (yyvsp[-1].str);
   44134             :                     n->payload = (yyvsp[0].str);
   44135             :                     (yyval.node) = (Node *) n;
   44136             :                 }
   44137             : #line 44138 "gram.c"
   44138         130 :     break;
   44139             : 
   44140          62 :   case 1453: /* notify_payload: ',' Sconst  */
   44141             : #line 11052 "gram.y"
   44142             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   44143             : #line 44144 "gram.c"
   44144          62 :     break;
   44145             : 
   44146          68 :   case 1454: /* notify_payload: %empty  */
   44147             : #line 11053 "gram.y"
   44148             :                                                                                         { (yyval.str) = NULL; }
   44149             : #line 44150 "gram.c"
   44150          68 :     break;
   44151             : 
   44152          74 :   case 1455: /* ListenStmt: LISTEN ColId  */
   44153             : #line 11057 "gram.y"
   44154             :                                 {
   44155             :                     ListenStmt *n = makeNode(ListenStmt);
   44156             : 
   44157             :                     n->conditionname = (yyvsp[0].str);
   44158             :                     (yyval.node) = (Node *) n;
   44159             :                 }
   44160             : #line 44161 "gram.c"
   44161          74 :     break;
   44162             : 
   44163           6 :   case 1456: /* UnlistenStmt: UNLISTEN ColId  */
   44164             : #line 11067 "gram.y"
   44165             :                                 {
   44166             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44167             : 
   44168             :                     n->conditionname = (yyvsp[0].str);
   44169             :                     (yyval.node) = (Node *) n;
   44170             :                 }
   44171             : #line 44172 "gram.c"
   44172           6 :     break;
   44173             : 
   44174          32 :   case 1457: /* UnlistenStmt: UNLISTEN '*'  */
   44175             : #line 11074 "gram.y"
   44176             :                                 {
   44177             :                     UnlistenStmt *n = makeNode(UnlistenStmt);
   44178             : 
   44179             :                     n->conditionname = NULL;
   44180             :                     (yyval.node) = (Node *) n;
   44181             :                 }
   44182             : #line 44183 "gram.c"
   44183          32 :     break;
   44184             : 
   44185         226 :   case 1458: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain  */
   44186             : #line 11094 "gram.y"
   44187             :                                 {
   44188             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44189             : 
   44190             :                     n->kind = TRANS_STMT_ROLLBACK;
   44191             :                     n->options = NIL;
   44192             :                     n->chain = (yyvsp[0].boolean);
   44193             :                     n->location = -1;
   44194             :                     (yyval.node) = (Node *) n;
   44195             :                 }
   44196             : #line 44197 "gram.c"
   44197         226 :     break;
   44198             : 
   44199        1636 :   case 1459: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty  */
   44200             : #line 11104 "gram.y"
   44201             :                                 {
   44202             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44203             : 
   44204             :                     n->kind = TRANS_STMT_START;
   44205             :                     n->options = (yyvsp[0].list);
   44206             :                     n->location = -1;
   44207             :                     (yyval.node) = (Node *) n;
   44208             :                 }
   44209             : #line 44210 "gram.c"
   44210        1636 :     break;
   44211             : 
   44212       13092 :   case 1460: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain  */
   44213             : #line 11113 "gram.y"
   44214             :                                 {
   44215             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44216             : 
   44217             :                     n->kind = TRANS_STMT_COMMIT;
   44218             :                     n->options = NIL;
   44219             :                     n->chain = (yyvsp[0].boolean);
   44220             :                     n->location = -1;
   44221             :                     (yyval.node) = (Node *) n;
   44222             :                 }
   44223             : #line 44224 "gram.c"
   44224       13092 :     break;
   44225             : 
   44226        2644 :   case 1461: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain  */
   44227             : #line 11123 "gram.y"
   44228             :                                 {
   44229             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44230             : 
   44231             :                     n->kind = TRANS_STMT_ROLLBACK;
   44232             :                     n->options = NIL;
   44233             :                     n->chain = (yyvsp[0].boolean);
   44234             :                     n->location = -1;
   44235             :                     (yyval.node) = (Node *) n;
   44236             :                 }
   44237             : #line 44238 "gram.c"
   44238        2644 :     break;
   44239             : 
   44240        1938 :   case 1462: /* TransactionStmt: SAVEPOINT ColId  */
   44241             : #line 11133 "gram.y"
   44242             :                                 {
   44243             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44244             : 
   44245             :                     n->kind = TRANS_STMT_SAVEPOINT;
   44246             :                     n->savepoint_name = (yyvsp[0].str);
   44247             :                     n->location = (yylsp[0]);
   44248             :                     (yyval.node) = (Node *) n;
   44249             :                 }
   44250             : #line 44251 "gram.c"
   44251        1938 :     break;
   44252             : 
   44253         226 :   case 1463: /* TransactionStmt: RELEASE SAVEPOINT ColId  */
   44254             : #line 11142 "gram.y"
   44255             :                                 {
   44256             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44257             : 
   44258             :                     n->kind = TRANS_STMT_RELEASE;
   44259             :                     n->savepoint_name = (yyvsp[0].str);
   44260             :                     n->location = (yylsp[0]);
   44261             :                     (yyval.node) = (Node *) n;
   44262             :                 }
   44263             : #line 44264 "gram.c"
   44264         226 :     break;
   44265             : 
   44266          86 :   case 1464: /* TransactionStmt: RELEASE ColId  */
   44267             : #line 11151 "gram.y"
   44268             :                                 {
   44269             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44270             : 
   44271             :                     n->kind = TRANS_STMT_RELEASE;
   44272             :                     n->savepoint_name = (yyvsp[0].str);
   44273             :                     n->location = (yylsp[0]);
   44274             :                     (yyval.node) = (Node *) n;
   44275             :                 }
   44276             : #line 44277 "gram.c"
   44277          86 :     break;
   44278             : 
   44279         238 :   case 1465: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId  */
   44280             : #line 11160 "gram.y"
   44281             :                                 {
   44282             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44283             : 
   44284             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44285             :                     n->savepoint_name = (yyvsp[0].str);
   44286             :                     n->location = (yylsp[0]);
   44287             :                     (yyval.node) = (Node *) n;
   44288             :                 }
   44289             : #line 44290 "gram.c"
   44290         238 :     break;
   44291             : 
   44292         504 :   case 1466: /* TransactionStmt: ROLLBACK opt_transaction TO ColId  */
   44293             : #line 11169 "gram.y"
   44294             :                                 {
   44295             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44296             : 
   44297             :                     n->kind = TRANS_STMT_ROLLBACK_TO;
   44298             :                     n->savepoint_name = (yyvsp[0].str);
   44299             :                     n->location = (yylsp[0]);
   44300             :                     (yyval.node) = (Node *) n;
   44301             :                 }
   44302             : #line 44303 "gram.c"
   44303         504 :     break;
   44304             : 
   44305         620 :   case 1467: /* TransactionStmt: PREPARE TRANSACTION Sconst  */
   44306             : #line 11178 "gram.y"
   44307             :                                 {
   44308             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44309             : 
   44310             :                     n->kind = TRANS_STMT_PREPARE;
   44311             :                     n->gid = (yyvsp[0].str);
   44312             :                     n->location = (yylsp[0]);
   44313             :                     (yyval.node) = (Node *) n;
   44314             :                 }
   44315             : #line 44316 "gram.c"
   44316         620 :     break;
   44317             : 
   44318         468 :   case 1468: /* TransactionStmt: COMMIT PREPARED Sconst  */
   44319             : #line 11187 "gram.y"
   44320             :                                 {
   44321             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44322             : 
   44323             :                     n->kind = TRANS_STMT_COMMIT_PREPARED;
   44324             :                     n->gid = (yyvsp[0].str);
   44325             :                     n->location = (yylsp[0]);
   44326             :                     (yyval.node) = (Node *) n;
   44327             :                 }
   44328             : #line 44329 "gram.c"
   44329         468 :     break;
   44330             : 
   44331          72 :   case 1469: /* TransactionStmt: ROLLBACK PREPARED Sconst  */
   44332             : #line 11196 "gram.y"
   44333             :                                 {
   44334             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44335             : 
   44336             :                     n->kind = TRANS_STMT_ROLLBACK_PREPARED;
   44337             :                     n->gid = (yyvsp[0].str);
   44338             :                     n->location = (yylsp[0]);
   44339             :                     (yyval.node) = (Node *) n;
   44340             :                 }
   44341             : #line 44342 "gram.c"
   44342          72 :     break;
   44343             : 
   44344       15764 :   case 1470: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty  */
   44345             : #line 11208 "gram.y"
   44346             :                                 {
   44347             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44348             : 
   44349             :                     n->kind = TRANS_STMT_BEGIN;
   44350             :                     n->options = (yyvsp[0].list);
   44351             :                     n->location = -1;
   44352             :                     (yyval.node) = (Node *) n;
   44353             :                 }
   44354             : #line 44355 "gram.c"
   44355       15764 :     break;
   44356             : 
   44357         360 :   case 1471: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain  */
   44358             : #line 11217 "gram.y"
   44359             :                                 {
   44360             :                     TransactionStmt *n = makeNode(TransactionStmt);
   44361             : 
   44362             :                     n->kind = TRANS_STMT_COMMIT;
   44363             :                     n->options = NIL;
   44364             :                     n->chain = (yyvsp[0].boolean);
   44365             :                     n->location = -1;
   44366             :                     (yyval.node) = (Node *) n;
   44367             :                 }
   44368             : #line 44369 "gram.c"
   44369         360 :     break;
   44370             : 
   44371        6802 :   case 1475: /* transaction_mode_item: ISOLATION LEVEL iso_level  */
   44372             : #line 11235 "gram.y"
   44373             :                                         { (yyval.defelt) = makeDefElem("transaction_isolation",
   44374             :                                        makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
   44375             : #line 44376 "gram.c"
   44376        6802 :     break;
   44377             : 
   44378        1522 :   case 1476: /* transaction_mode_item: READ ONLY  */
   44379             : #line 11238 "gram.y"
   44380             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44381             :                                        makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
   44382             : #line 44383 "gram.c"
   44383        1522 :     break;
   44384             : 
   44385          90 :   case 1477: /* transaction_mode_item: READ WRITE  */
   44386             : #line 11241 "gram.y"
   44387             :                                         { (yyval.defelt) = makeDefElem("transaction_read_only",
   44388             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44389             : #line 44390 "gram.c"
   44390          90 :     break;
   44391             : 
   44392          52 :   case 1478: /* transaction_mode_item: DEFERRABLE  */
   44393             : #line 11244 "gram.y"
   44394             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44395             :                                        makeIntConst(true, (yylsp[0])), (yylsp[0])); }
   44396             : #line 44397 "gram.c"
   44397          52 :     break;
   44398             : 
   44399          10 :   case 1479: /* transaction_mode_item: NOT DEFERRABLE  */
   44400             : #line 11247 "gram.y"
   44401             :                                         { (yyval.defelt) = makeDefElem("transaction_deferrable",
   44402             :                                        makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
   44403             : #line 44404 "gram.c"
   44404          10 :     break;
   44405             : 
   44406        7020 :   case 1480: /* transaction_mode_list: transaction_mode_item  */
   44407             : #line 11254 "gram.y"
   44408             :                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44409             : #line 44410 "gram.c"
   44410        7020 :     break;
   44411             : 
   44412        1042 :   case 1481: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item  */
   44413             : #line 11256 "gram.y"
   44414             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
   44415             : #line 44416 "gram.c"
   44416        1042 :     break;
   44417             : 
   44418         414 :   case 1482: /* transaction_mode_list: transaction_mode_list transaction_mode_item  */
   44419             : #line 11258 "gram.y"
   44420             :                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44421             : #line 44422 "gram.c"
   44422         414 :     break;
   44423             : 
   44424       11082 :   case 1484: /* transaction_mode_list_or_empty: %empty  */
   44425             : #line 11264 "gram.y"
   44426             :                                         { (yyval.list) = NIL; }
   44427             : #line 44428 "gram.c"
   44428       11082 :     break;
   44429             : 
   44430         120 :   case 1485: /* opt_transaction_chain: AND CHAIN  */
   44431             : #line 11268 "gram.y"
   44432             :                                                 { (yyval.boolean) = true; }
   44433             : #line 44434 "gram.c"
   44434         120 :     break;
   44435             : 
   44436           2 :   case 1486: /* opt_transaction_chain: AND NO CHAIN  */
   44437             : #line 11269 "gram.y"
   44438             :                                         { (yyval.boolean) = false; }
   44439             : #line 44440 "gram.c"
   44440           2 :     break;
   44441             : 
   44442       16200 :   case 1487: /* opt_transaction_chain: %empty  */
   44443             : #line 11270 "gram.y"
   44444             :                                         { (yyval.boolean) = false; }
   44445             : #line 44446 "gram.c"
   44446       16200 :     break;
   44447             : 
   44448       16400 :   case 1488: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44449             : #line 11284 "gram.y"
   44450             :                                 {
   44451             :                     ViewStmt   *n = makeNode(ViewStmt);
   44452             : 
   44453             :                     n->view = (yyvsp[-5].range);
   44454             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44455             :                     n->aliases = (yyvsp[-4].list);
   44456             :                     n->query = (yyvsp[-1].node);
   44457             :                     n->replace = false;
   44458             :                     n->options = (yyvsp[-3].list);
   44459             :                     n->withCheckOption = (yyvsp[0].ival);
   44460             :                     (yyval.node) = (Node *) n;
   44461             :                 }
   44462             : #line 44463 "gram.c"
   44463       16400 :     break;
   44464             : 
   44465         248 :   case 1489: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option  */
   44466             : #line 11298 "gram.y"
   44467             :                                 {
   44468             :                     ViewStmt   *n = makeNode(ViewStmt);
   44469             : 
   44470             :                     n->view = (yyvsp[-5].range);
   44471             :                     n->view->relpersistence = (yyvsp[-7].ival);
   44472             :                     n->aliases = (yyvsp[-4].list);
   44473             :                     n->query = (yyvsp[-1].node);
   44474             :                     n->replace = true;
   44475             :                     n->options = (yyvsp[-3].list);
   44476             :                     n->withCheckOption = (yyvsp[0].ival);
   44477             :                     (yyval.node) = (Node *) n;
   44478             :                 }
   44479             : #line 44480 "gram.c"
   44480         248 :     break;
   44481             : 
   44482           8 :   case 1490: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44483             : #line 11312 "gram.y"
   44484             :                                 {
   44485             :                     ViewStmt   *n = makeNode(ViewStmt);
   44486             : 
   44487             :                     n->view = (yyvsp[-7].range);
   44488             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44489             :                     n->aliases = (yyvsp[-5].list);
   44490             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44491             :                     n->replace = false;
   44492             :                     n->options = (yyvsp[-3].list);
   44493             :                     n->withCheckOption = (yyvsp[0].ival);
   44494             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44495             :                         ereport(ERROR,
   44496             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44497             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44498             :                                  parser_errposition((yylsp[0]))));
   44499             :                     (yyval.node) = (Node *) n;
   44500             :                 }
   44501             : #line 44502 "gram.c"
   44502           8 :     break;
   44503             : 
   44504           6 :   case 1491: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option  */
   44505             : #line 11331 "gram.y"
   44506             :                                 {
   44507             :                     ViewStmt   *n = makeNode(ViewStmt);
   44508             : 
   44509             :                     n->view = (yyvsp[-7].range);
   44510             :                     n->view->relpersistence = (yyvsp[-10].ival);
   44511             :                     n->aliases = (yyvsp[-5].list);
   44512             :                     n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
   44513             :                     n->replace = true;
   44514             :                     n->options = (yyvsp[-3].list);
   44515             :                     n->withCheckOption = (yyvsp[0].ival);
   44516             :                     if (n->withCheckOption != NO_CHECK_OPTION)
   44517             :                         ereport(ERROR,
   44518             :                                 (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   44519             :                                  errmsg("WITH CHECK OPTION not supported on recursive views"),
   44520             :                                  parser_errposition((yylsp[0]))));
   44521             :                     (yyval.node) = (Node *) n;
   44522             :                 }
   44523             : #line 44524 "gram.c"
   44524           6 :     break;
   44525             : 
   44526          96 :   case 1492: /* opt_check_option: WITH CHECK OPTION  */
   44527             : #line 11351 "gram.y"
   44528             :                                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44529             : #line 44530 "gram.c"
   44530          96 :     break;
   44531             : 
   44532           6 :   case 1493: /* opt_check_option: WITH CASCADED CHECK OPTION  */
   44533             : #line 11352 "gram.y"
   44534             :                                                 { (yyval.ival) = CASCADED_CHECK_OPTION; }
   44535             : #line 44536 "gram.c"
   44536           6 :     break;
   44537             : 
   44538          24 :   case 1494: /* opt_check_option: WITH LOCAL CHECK OPTION  */
   44539             : #line 11353 "gram.y"
   44540             :                                                         { (yyval.ival) = LOCAL_CHECK_OPTION; }
   44541             : #line 44542 "gram.c"
   44542          24 :     break;
   44543             : 
   44544       16536 :   case 1495: /* opt_check_option: %empty  */
   44545             : #line 11354 "gram.y"
   44546             :                                                                 { (yyval.ival) = NO_CHECK_OPTION; }
   44547             : #line 44548 "gram.c"
   44548       16536 :     break;
   44549             : 
   44550          52 :   case 1496: /* LoadStmt: LOAD file_name  */
   44551             : #line 11365 "gram.y"
   44552             :                                 {
   44553             :                     LoadStmt   *n = makeNode(LoadStmt);
   44554             : 
   44555             :                     n->filename = (yyvsp[0].str);
   44556             :                     (yyval.node) = (Node *) n;
   44557             :                 }
   44558             : #line 44559 "gram.c"
   44559          52 :     break;
   44560             : 
   44561         778 :   case 1497: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list  */
   44562             : #line 11382 "gram.y"
   44563             :                                 {
   44564             :                     CreatedbStmt *n = makeNode(CreatedbStmt);
   44565             : 
   44566             :                     n->dbname = (yyvsp[-2].str);
   44567             :                     n->options = (yyvsp[0].list);
   44568             :                     (yyval.node) = (Node *) n;
   44569             :                 }
   44570             : #line 44571 "gram.c"
   44571         778 :     break;
   44572             : 
   44573         624 :   case 1498: /* createdb_opt_list: createdb_opt_items  */
   44574             : #line 11392 "gram.y"
   44575             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   44576             : #line 44577 "gram.c"
   44577         624 :     break;
   44578             : 
   44579         214 :   case 1499: /* createdb_opt_list: %empty  */
   44580             : #line 11393 "gram.y"
   44581             :                                                                                         { (yyval.list) = NIL; }
   44582             : #line 44583 "gram.c"
   44583         214 :     break;
   44584             : 
   44585         624 :   case 1500: /* createdb_opt_items: createdb_opt_item  */
   44586             : #line 11397 "gram.y"
   44587             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   44588             : #line 44589 "gram.c"
   44589         624 :     break;
   44590             : 
   44591         924 :   case 1501: /* createdb_opt_items: createdb_opt_items createdb_opt_item  */
   44592             : #line 11398 "gram.y"
   44593             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   44594             : #line 44595 "gram.c"
   44595         924 :     break;
   44596             : 
   44597         254 :   case 1502: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly  */
   44598             : #line 11403 "gram.y"
   44599             :                                 {
   44600             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (yyvsp[0].node), (yylsp[-2]));
   44601             :                 }
   44602             : #line 44603 "gram.c"
   44603         254 :     break;
   44604             : 
   44605        1294 :   case 1503: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string  */
   44606             : #line 11407 "gram.y"
   44607             :                                 {
   44608             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) makeString((yyvsp[0].str)), (yylsp[-2]));
   44609             :                 }
   44610             : #line 44611 "gram.c"
   44611        1294 :     break;
   44612             : 
   44613           0 :   case 1504: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT  */
   44614             : #line 11411 "gram.y"
   44615             :                                 {
   44616             :                     (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
   44617             :                 }
   44618             : #line 44619 "gram.c"
   44619           0 :     break;
   44620             : 
   44621        1090 :   case 1505: /* createdb_opt_name: IDENT  */
   44622             : #line 11428 "gram.y"
   44623             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   44624             : #line 44625 "gram.c"
   44625        1090 :     break;
   44626             : 
   44627           2 :   case 1506: /* createdb_opt_name: CONNECTION LIMIT  */
   44628             : #line 11429 "gram.y"
   44629             :                                                                         { (yyval.str) = pstrdup("connection_limit"); }
   44630             : #line 44631 "gram.c"
   44631           2 :     break;
   44632             : 
   44633          96 :   case 1507: /* createdb_opt_name: ENCODING  */
   44634             : #line 11430 "gram.y"
   44635             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44636             : #line 44637 "gram.c"
   44637          96 :     break;
   44638             : 
   44639           0 :   case 1508: /* createdb_opt_name: LOCATION  */
   44640             : #line 11431 "gram.y"
   44641             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44642             : #line 44643 "gram.c"
   44643           0 :     break;
   44644             : 
   44645           2 :   case 1509: /* createdb_opt_name: OWNER  */
   44646             : #line 11432 "gram.y"
   44647             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44648             : #line 44649 "gram.c"
   44649           2 :     break;
   44650             : 
   44651          16 :   case 1510: /* createdb_opt_name: TABLESPACE  */
   44652             : #line 11433 "gram.y"
   44653             :                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44654             : #line 44655 "gram.c"
   44655          16 :     break;
   44656             : 
   44657         342 :   case 1511: /* createdb_opt_name: TEMPLATE  */
   44658             : #line 11434 "gram.y"
   44659             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   44660             : #line 44661 "gram.c"
   44661         342 :     break;
   44662             : 
   44663           0 :   case 1514: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list  */
   44664             : #line 11454 "gram.y"
   44665             :                                  {
   44666             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44667             : 
   44668             :                     n->dbname = (yyvsp[-2].str);
   44669             :                     n->options = (yyvsp[0].list);
   44670             :                     (yyval.node) = (Node *) n;
   44671             :                  }
   44672             : #line 44673 "gram.c"
   44673           0 :     break;
   44674             : 
   44675          60 :   case 1515: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list  */
   44676             : #line 11462 "gram.y"
   44677             :                                  {
   44678             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44679             : 
   44680             :                     n->dbname = (yyvsp[-1].str);
   44681             :                     n->options = (yyvsp[0].list);
   44682             :                     (yyval.node) = (Node *) n;
   44683             :                  }
   44684             : #line 44685 "gram.c"
   44685          60 :     break;
   44686             : 
   44687          16 :   case 1516: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name  */
   44688             : #line 11470 "gram.y"
   44689             :                                  {
   44690             :                     AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
   44691             : 
   44692             :                     n->dbname = (yyvsp[-3].str);
   44693             :                     n->options = list_make1(makeDefElem("tablespace",
   44694             :                                                         (Node *) makeString((yyvsp[0].str)), (yylsp[0])));
   44695             :                     (yyval.node) = (Node *) n;
   44696             :                  }
   44697             : #line 44698 "gram.c"
   44698          16 :     break;
   44699             : 
   44700           6 :   case 1517: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P  */
   44701             : #line 11479 "gram.y"
   44702             :                                  {
   44703             :                     AlterDatabaseRefreshCollStmt *n = makeNode(AlterDatabaseRefreshCollStmt);
   44704             : 
   44705             :                     n->dbname = (yyvsp[-3].str);
   44706             :                     (yyval.node) = (Node *) n;
   44707             :                  }
   44708             : #line 44709 "gram.c"
   44709           6 :     break;
   44710             : 
   44711        1198 :   case 1518: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause  */
   44712             : #line 11489 "gram.y"
   44713             :                                 {
   44714             :                     AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
   44715             : 
   44716             :                     n->dbname = (yyvsp[-1].str);
   44717             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44718             :                     (yyval.node) = (Node *) n;
   44719             :                 }
   44720             : #line 44721 "gram.c"
   44721        1198 :     break;
   44722             : 
   44723          92 :   case 1519: /* DropdbStmt: DROP DATABASE name  */
   44724             : #line 11507 "gram.y"
   44725             :                                 {
   44726             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44727             : 
   44728             :                     n->dbname = (yyvsp[0].str);
   44729             :                     n->missing_ok = false;
   44730             :                     n->options = NULL;
   44731             :                     (yyval.node) = (Node *) n;
   44732             :                 }
   44733             : #line 44734 "gram.c"
   44734          92 :     break;
   44735             : 
   44736           4 :   case 1520: /* DropdbStmt: DROP DATABASE IF_P EXISTS name  */
   44737             : #line 11516 "gram.y"
   44738             :                                 {
   44739             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44740             : 
   44741             :                     n->dbname = (yyvsp[0].str);
   44742             :                     n->missing_ok = true;
   44743             :                     n->options = NULL;
   44744             :                     (yyval.node) = (Node *) n;
   44745             :                 }
   44746             : #line 44747 "gram.c"
   44747           4 :     break;
   44748             : 
   44749          14 :   case 1521: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')'  */
   44750             : #line 11525 "gram.y"
   44751             :                                 {
   44752             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44753             : 
   44754             :                     n->dbname = (yyvsp[-4].str);
   44755             :                     n->missing_ok = false;
   44756             :                     n->options = (yyvsp[-1].list);
   44757             :                     (yyval.node) = (Node *) n;
   44758             :                 }
   44759             : #line 44760 "gram.c"
   44760          14 :     break;
   44761             : 
   44762          12 :   case 1522: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')'  */
   44763             : #line 11534 "gram.y"
   44764             :                                 {
   44765             :                     DropdbStmt *n = makeNode(DropdbStmt);
   44766             : 
   44767             :                     n->dbname = (yyvsp[-4].str);
   44768             :                     n->missing_ok = true;
   44769             :                     n->options = (yyvsp[-1].list);
   44770             :                     (yyval.node) = (Node *) n;
   44771             :                 }
   44772             : #line 44773 "gram.c"
   44773          12 :     break;
   44774             : 
   44775          26 :   case 1523: /* drop_option_list: drop_option  */
   44776             : #line 11546 "gram.y"
   44777             :                                 {
   44778             :                     (yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
   44779             :                 }
   44780             : #line 44781 "gram.c"
   44781          26 :     break;
   44782             : 
   44783           0 :   case 1524: /* drop_option_list: drop_option_list ',' drop_option  */
   44784             : #line 11550 "gram.y"
   44785             :                                 {
   44786             :                     (yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
   44787             :                 }
   44788             : #line 44789 "gram.c"
   44789           0 :     break;
   44790             : 
   44791          26 :   case 1525: /* drop_option: FORCE  */
   44792             : #line 11561 "gram.y"
   44793             :                                 {
   44794             :                     (yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
   44795             :                 }
   44796             : #line 44797 "gram.c"
   44797          26 :     break;
   44798             : 
   44799           6 :   case 1526: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P  */
   44800             : #line 11573 "gram.y"
   44801             :                                 {
   44802             :                     AlterCollationStmt *n = makeNode(AlterCollationStmt);
   44803             : 
   44804             :                     n->collname = (yyvsp[-2].list);
   44805             :                     (yyval.node) = (Node *) n;
   44806             :                 }
   44807             : #line 44808 "gram.c"
   44808           6 :     break;
   44809             : 
   44810         122 :   case 1527: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set  */
   44811             : #line 11591 "gram.y"
   44812             :                                 {
   44813             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   44814             : 
   44815             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44816             :                     (yyval.node) = (Node *) n;
   44817             :                 }
   44818             : #line 44819 "gram.c"
   44819         122 :     break;
   44820             : 
   44821          54 :   case 1528: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset  */
   44822             : #line 11598 "gram.y"
   44823             :                                 {
   44824             :                     AlterSystemStmt *n = makeNode(AlterSystemStmt);
   44825             : 
   44826             :                     n->setstmt = (yyvsp[0].vsetstmt);
   44827             :                     (yyval.node) = (Node *) n;
   44828             :                 }
   44829             : #line 44830 "gram.c"
   44830          54 :     break;
   44831             : 
   44832        1474 :   case 1529: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList  */
   44833             : #line 11615 "gram.y"
   44834             :                                 {
   44835             :                     CreateDomainStmt *n = makeNode(CreateDomainStmt);
   44836             : 
   44837             :                     n->domainname = (yyvsp[-3].list);
   44838             :                     n->typeName = (yyvsp[-1].typnam);
   44839             :                     SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
   44840             :                                      yyscanner);
   44841             :                     (yyval.node) = (Node *) n;
   44842             :                 }
   44843             : #line 44844 "gram.c"
   44844        1474 :     break;
   44845             : 
   44846          14 :   case 1530: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default  */
   44847             : #line 11629 "gram.y"
   44848             :                                 {
   44849             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44850             : 
   44851             :                     n->subtype = 'T';
   44852             :                     n->typeName = (yyvsp[-1].list);
   44853             :                     n->def = (yyvsp[0].node);
   44854             :                     (yyval.node) = (Node *) n;
   44855             :                 }
   44856             : #line 44857 "gram.c"
   44857          14 :     break;
   44858             : 
   44859          12 :   case 1531: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P  */
   44860             : #line 11639 "gram.y"
   44861             :                                 {
   44862             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44863             : 
   44864             :                     n->subtype = 'N';
   44865             :                     n->typeName = (yyvsp[-3].list);
   44866             :                     (yyval.node) = (Node *) n;
   44867             :                 }
   44868             : #line 44869 "gram.c"
   44869          12 :     break;
   44870             : 
   44871          24 :   case 1532: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P  */
   44872             : #line 11648 "gram.y"
   44873             :                                 {
   44874             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44875             : 
   44876             :                     n->subtype = 'O';
   44877             :                     n->typeName = (yyvsp[-3].list);
   44878             :                     (yyval.node) = (Node *) n;
   44879             :                 }
   44880             : #line 44881 "gram.c"
   44881          24 :     break;
   44882             : 
   44883         174 :   case 1533: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P DomainConstraint  */
   44884             : #line 11657 "gram.y"
   44885             :                                 {
   44886             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44887             : 
   44888             :                     n->subtype = 'C';
   44889             :                     n->typeName = (yyvsp[-2].list);
   44890             :                     n->def = (yyvsp[0].node);
   44891             :                     (yyval.node) = (Node *) n;
   44892             :                 }
   44893             : #line 44894 "gram.c"
   44894         174 :     break;
   44895             : 
   44896          54 :   case 1534: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior  */
   44897             : #line 11667 "gram.y"
   44898             :                                 {
   44899             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44900             : 
   44901             :                     n->subtype = 'X';
   44902             :                     n->typeName = (yyvsp[-4].list);
   44903             :                     n->name = (yyvsp[-1].str);
   44904             :                     n->behavior = (yyvsp[0].dbehavior);
   44905             :                     n->missing_ok = false;
   44906             :                     (yyval.node) = (Node *) n;
   44907             :                 }
   44908             : #line 44909 "gram.c"
   44909          54 :     break;
   44910             : 
   44911           6 :   case 1535: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior  */
   44912             : #line 11679 "gram.y"
   44913             :                                 {
   44914             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44915             : 
   44916             :                     n->subtype = 'X';
   44917             :                     n->typeName = (yyvsp[-6].list);
   44918             :                     n->name = (yyvsp[-1].str);
   44919             :                     n->behavior = (yyvsp[0].dbehavior);
   44920             :                     n->missing_ok = true;
   44921             :                     (yyval.node) = (Node *) n;
   44922             :                 }
   44923             : #line 44924 "gram.c"
   44924           6 :     break;
   44925             : 
   44926          12 :   case 1536: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name  */
   44927             : #line 11691 "gram.y"
   44928             :                                 {
   44929             :                     AlterDomainStmt *n = makeNode(AlterDomainStmt);
   44930             : 
   44931             :                     n->subtype = 'V';
   44932             :                     n->typeName = (yyvsp[-3].list);
   44933             :                     n->name = (yyvsp[0].str);
   44934             :                     (yyval.node) = (Node *) n;
   44935             :                 }
   44936             : #line 44937 "gram.c"
   44937          12 :     break;
   44938             : 
   44939          40 :   case 1539: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition  */
   44940             : #line 11714 "gram.y"
   44941             :                                 {
   44942             :                     AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
   44943             : 
   44944             :                     n->dictname = (yyvsp[-1].list);
   44945             :                     n->options = (yyvsp[0].list);
   44946             :                     (yyval.node) = (Node *) n;
   44947             :                 }
   44948             : #line 44949 "gram.c"
   44949          40 :     break;
   44950             : 
   44951        8496 :   case 1540: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list  */
   44952             : #line 11725 "gram.y"
   44953             :                                 {
   44954             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   44955             : 
   44956             :                     n->kind = ALTER_TSCONFIG_ADD_MAPPING;
   44957             :                     n->cfgname = (yyvsp[-6].list);
   44958             :                     n->tokentype = (yyvsp[-2].list);
   44959             :                     n->dicts = (yyvsp[0].list);
   44960             :                     n->override = false;
   44961             :                     n->replace = false;
   44962             :                     (yyval.node) = (Node *) n;
   44963             :                 }
   44964             : #line 44965 "gram.c"
   44965        8496 :     break;
   44966             : 
   44967          26 :   case 1541: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list  */
   44968             : #line 11737 "gram.y"
   44969             :                                 {
   44970             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   44971             : 
   44972             :                     n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
   44973             :                     n->cfgname = (yyvsp[-6].list);
   44974             :                     n->tokentype = (yyvsp[-2].list);
   44975             :                     n->dicts = (yyvsp[0].list);
   44976             :                     n->override = true;
   44977             :                     n->replace = false;
   44978             :                     (yyval.node) = (Node *) n;
   44979             :                 }
   44980             : #line 44981 "gram.c"
   44981          26 :     break;
   44982             : 
   44983          18 :   case 1542: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name  */
   44984             : #line 11749 "gram.y"
   44985             :                                 {
   44986             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   44987             : 
   44988             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT;
   44989             :                     n->cfgname = (yyvsp[-6].list);
   44990             :                     n->tokentype = NIL;
   44991             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   44992             :                     n->override = false;
   44993             :                     n->replace = true;
   44994             :                     (yyval.node) = (Node *) n;
   44995             :                 }
   44996             : #line 44997 "gram.c"
   44997          18 :     break;
   44998             : 
   44999           0 :   case 1543: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name  */
   45000             : #line 11761 "gram.y"
   45001             :                                 {
   45002             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45003             : 
   45004             :                     n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
   45005             :                     n->cfgname = (yyvsp[-8].list);
   45006             :                     n->tokentype = (yyvsp[-4].list);
   45007             :                     n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
   45008             :                     n->override = false;
   45009             :                     n->replace = true;
   45010             :                     (yyval.node) = (Node *) n;
   45011             :                 }
   45012             : #line 45013 "gram.c"
   45013           0 :     break;
   45014             : 
   45015          18 :   case 1544: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list  */
   45016             : #line 11773 "gram.y"
   45017             :                                 {
   45018             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45019             : 
   45020             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45021             :                     n->cfgname = (yyvsp[-4].list);
   45022             :                     n->tokentype = (yyvsp[0].list);
   45023             :                     n->missing_ok = false;
   45024             :                     (yyval.node) = (Node *) n;
   45025             :                 }
   45026             : #line 45027 "gram.c"
   45027          18 :     break;
   45028             : 
   45029          12 :   case 1545: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list  */
   45030             : #line 11783 "gram.y"
   45031             :                                 {
   45032             :                     AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
   45033             : 
   45034             :                     n->kind = ALTER_TSCONFIG_DROP_MAPPING;
   45035             :                     n->cfgname = (yyvsp[-6].list);
   45036             :                     n->tokentype = (yyvsp[0].list);
   45037             :                     n->missing_ok = true;
   45038             :                     (yyval.node) = (Node *) n;
   45039             :                 }
   45040             : #line 45041 "gram.c"
   45041          12 :     break;
   45042             : 
   45043          64 :   case 1548: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR Sconst TO Sconst FROM any_name  */
   45044             : #line 11812 "gram.y"
   45045             :                         {
   45046             :                 CreateConversionStmt *n = makeNode(CreateConversionStmt);
   45047             : 
   45048             :                 n->conversion_name = (yyvsp[-6].list);
   45049             :                 n->for_encoding_name = (yyvsp[-4].str);
   45050             :                 n->to_encoding_name = (yyvsp[-2].str);
   45051             :                 n->func_name = (yyvsp[0].list);
   45052             :                 n->def = (yyvsp[-8].boolean);
   45053             :                 (yyval.node) = (Node *) n;
   45054             :             }
   45055             : #line 45056 "gram.c"
   45056          64 :     break;
   45057             : 
   45058           0 :   case 1549: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification  */
   45059             : #line 11835 "gram.y"
   45060             :                                 {
   45061             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45062             : 
   45063             :                     n->relation = (yyvsp[-1].range);
   45064             :                     n->indexname = (yyvsp[0].str);
   45065             :                     n->params = (yyvsp[-3].list);
   45066             :                     (yyval.node) = (Node *) n;
   45067             :                 }
   45068             : #line 45069 "gram.c"
   45069           0 :     break;
   45070             : 
   45071           0 :   case 1550: /* ClusterStmt: CLUSTER '(' utility_option_list ')'  */
   45072             : #line 11844 "gram.y"
   45073             :                                 {
   45074             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45075             : 
   45076             :                     n->relation = NULL;
   45077             :                     n->indexname = NULL;
   45078             :                     n->params = (yyvsp[-1].list);
   45079             :                     (yyval.node) = (Node *) n;
   45080             :                 }
   45081             : #line 45082 "gram.c"
   45082           0 :     break;
   45083             : 
   45084         186 :   case 1551: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification  */
   45085             : #line 11854 "gram.y"
   45086             :                                 {
   45087             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45088             : 
   45089             :                     n->relation = (yyvsp[-1].range);
   45090             :                     n->indexname = (yyvsp[0].str);
   45091             :                     n->params = NIL;
   45092             :                     if ((yyvsp[-2].boolean))
   45093             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-2])));
   45094             :                     (yyval.node) = (Node *) n;
   45095             :                 }
   45096             : #line 45097 "gram.c"
   45097         186 :     break;
   45098             : 
   45099          26 :   case 1552: /* ClusterStmt: CLUSTER opt_verbose  */
   45100             : #line 11866 "gram.y"
   45101             :                                 {
   45102             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45103             : 
   45104             :                     n->relation = NULL;
   45105             :                     n->indexname = NULL;
   45106             :                     n->params = NIL;
   45107             :                     if ((yyvsp[0].boolean))
   45108             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[0])));
   45109             :                     (yyval.node) = (Node *) n;
   45110             :                 }
   45111             : #line 45112 "gram.c"
   45112          26 :     break;
   45113             : 
   45114          18 :   case 1553: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name  */
   45115             : #line 11878 "gram.y"
   45116             :                                 {
   45117             :                     ClusterStmt *n = makeNode(ClusterStmt);
   45118             : 
   45119             :                     n->relation = (yyvsp[0].range);
   45120             :                     n->indexname = (yyvsp[-2].str);
   45121             :                     n->params = NIL;
   45122             :                     if ((yyvsp[-3].boolean))
   45123             :                         n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-3])));
   45124             :                     (yyval.node) = (Node *) n;
   45125             :                 }
   45126             : #line 45127 "gram.c"
   45127          18 :     break;
   45128             : 
   45129         156 :   case 1554: /* cluster_index_specification: USING name  */
   45130             : #line 11891 "gram.y"
   45131             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   45132             : #line 45133 "gram.c"
   45133         156 :     break;
   45134             : 
   45135          30 :   case 1555: /* cluster_index_specification: %empty  */
   45136             : #line 11892 "gram.y"
   45137             :                                                                 { (yyval.str) = NULL; }
   45138             : #line 45139 "gram.c"
   45139          30 :     break;
   45140             : 
   45141        1216 :   case 1556: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list  */
   45142             : #line 11905 "gram.y"
   45143             :                                 {
   45144             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45145             : 
   45146             :                     n->options = NIL;
   45147             :                     if ((yyvsp[-4].boolean))
   45148             :                         n->options = lappend(n->options,
   45149             :                                              makeDefElem("full", NULL, (yylsp[-4])));
   45150             :                     if ((yyvsp[-3].boolean))
   45151             :                         n->options = lappend(n->options,
   45152             :                                              makeDefElem("freeze", NULL, (yylsp[-3])));
   45153             :                     if ((yyvsp[-2].boolean))
   45154             :                         n->options = lappend(n->options,
   45155             :                                              makeDefElem("verbose", NULL, (yylsp[-2])));
   45156             :                     if ((yyvsp[-1].boolean))
   45157             :                         n->options = lappend(n->options,
   45158             :                                              makeDefElem("analyze", NULL, (yylsp[-1])));
   45159             :                     n->rels = (yyvsp[0].list);
   45160             :                     n->is_vacuumcmd = true;
   45161             :                     (yyval.node) = (Node *) n;
   45162             :                 }
   45163             : #line 45164 "gram.c"
   45164        1216 :     break;
   45165             : 
   45166        7644 :   case 1557: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list  */
   45167             : #line 11926 "gram.y"
   45168             :                                 {
   45169             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45170             : 
   45171             :                     n->options = (yyvsp[-2].list);
   45172             :                     n->rels = (yyvsp[0].list);
   45173             :                     n->is_vacuumcmd = true;
   45174             :                     (yyval.node) = (Node *) n;
   45175             :                 }
   45176             : #line 45177 "gram.c"
   45177        7644 :     break;
   45178             : 
   45179        4488 :   case 1558: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list  */
   45180             : #line 11937 "gram.y"
   45181             :                                 {
   45182             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45183             : 
   45184             :                     n->options = NIL;
   45185             :                     if ((yyvsp[-1].boolean))
   45186             :                         n->options = lappend(n->options,
   45187             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45188             :                     n->rels = (yyvsp[0].list);
   45189             :                     n->is_vacuumcmd = false;
   45190             :                     (yyval.node) = (Node *) n;
   45191             :                 }
   45192             : #line 45193 "gram.c"
   45193        4488 :     break;
   45194             : 
   45195         186 :   case 1559: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list  */
   45196             : #line 11949 "gram.y"
   45197             :                                 {
   45198             :                     VacuumStmt *n = makeNode(VacuumStmt);
   45199             : 
   45200             :                     n->options = (yyvsp[-2].list);
   45201             :                     n->rels = (yyvsp[0].list);
   45202             :                     n->is_vacuumcmd = false;
   45203             :                     (yyval.node) = (Node *) n;
   45204             :                 }
   45205             : #line 45206 "gram.c"
   45206         186 :     break;
   45207             : 
   45208       21774 :   case 1560: /* utility_option_list: utility_option_elem  */
   45209             : #line 11961 "gram.y"
   45210             :                                 {
   45211             :                     (yyval.list) = list_make1((yyvsp[0].defelt));
   45212             :                 }
   45213             : #line 45214 "gram.c"
   45214       21774 :     break;
   45215             : 
   45216       12302 :   case 1561: /* utility_option_list: utility_option_list ',' utility_option_elem  */
   45217             : #line 11965 "gram.y"
   45218             :                                 {
   45219             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
   45220             :                 }
   45221             : #line 45222 "gram.c"
   45222       12302 :     break;
   45223             : 
   45224       34076 :   case 1564: /* utility_option_elem: utility_option_name utility_option_arg  */
   45225             : #line 11977 "gram.y"
   45226             :                                 {
   45227             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   45228             :                 }
   45229             : #line 45230 "gram.c"
   45230       34076 :     break;
   45231             : 
   45232       30332 :   case 1565: /* utility_option_name: NonReservedWord  */
   45233             : #line 11983 "gram.y"
   45234             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   45235             : #line 45236 "gram.c"
   45236       30332 :     break;
   45237             : 
   45238        3602 :   case 1566: /* utility_option_name: analyze_keyword  */
   45239             : #line 11984 "gram.y"
   45240             :                                                                                         { (yyval.str) = "analyze"; }
   45241             : #line 45242 "gram.c"
   45242        3602 :     break;
   45243             : 
   45244         148 :   case 1567: /* utility_option_name: FORMAT_LA  */
   45245             : #line 11985 "gram.y"
   45246             :                                                                                                 { (yyval.str) = "format"; }
   45247             : #line 45248 "gram.c"
   45248         148 :     break;
   45249             : 
   45250       17258 :   case 1568: /* utility_option_arg: opt_boolean_or_string  */
   45251             : #line 11989 "gram.y"
   45252             :                                                                                 { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
   45253             : #line 45254 "gram.c"
   45254       17258 :     break;
   45255             : 
   45256         380 :   case 1569: /* utility_option_arg: NumericOnly  */
   45257             : #line 11990 "gram.y"
   45258             :                                                                                         { (yyval.node) = (Node *) (yyvsp[0].node); }
   45259             : #line 45260 "gram.c"
   45260         380 :     break;
   45261             : 
   45262       16438 :   case 1570: /* utility_option_arg: %empty  */
   45263             : #line 11991 "gram.y"
   45264             :                                                                                         { (yyval.node) = NULL; }
   45265             : #line 45266 "gram.c"
   45266       16438 :     break;
   45267             : 
   45268         292 :   case 1571: /* opt_analyze: analyze_keyword  */
   45269             : #line 11995 "gram.y"
   45270             :                                                                                         { (yyval.boolean) = true; }
   45271             : #line 45272 "gram.c"
   45272         292 :     break;
   45273             : 
   45274         924 :   case 1572: /* opt_analyze: %empty  */
   45275             : #line 11996 "gram.y"
   45276             :                                                                                                 { (yyval.boolean) = false; }
   45277             : #line 45278 "gram.c"
   45278         924 :     break;
   45279             : 
   45280          26 :   case 1573: /* opt_verbose: VERBOSE  */
   45281             : #line 12000 "gram.y"
   45282             :                                                                                                 { (yyval.boolean) = true; }
   45283             : #line 45284 "gram.c"
   45284          26 :     break;
   45285             : 
   45286        8212 :   case 1574: /* opt_verbose: %empty  */
   45287             : #line 12001 "gram.y"
   45288             :                                                                                                 { (yyval.boolean) = false; }
   45289             : #line 45290 "gram.c"
   45290        8212 :     break;
   45291             : 
   45292         146 :   case 1575: /* opt_full: FULL  */
   45293             : #line 12004 "gram.y"
   45294             :                                                                                         { (yyval.boolean) = true; }
   45295             : #line 45296 "gram.c"
   45296         146 :     break;
   45297             : 
   45298        1070 :   case 1576: /* opt_full: %empty  */
   45299             : #line 12005 "gram.y"
   45300             :                                                                                                 { (yyval.boolean) = false; }
   45301             : #line 45302 "gram.c"
   45302        1070 :     break;
   45303             : 
   45304         160 :   case 1577: /* opt_freeze: FREEZE  */
   45305             : #line 12008 "gram.y"
   45306             :                                                                                         { (yyval.boolean) = true; }
   45307             : #line 45308 "gram.c"
   45308         160 :     break;
   45309             : 
   45310        1056 :   case 1578: /* opt_freeze: %empty  */
   45311             : #line 12009 "gram.y"
   45312             :                                                                                                 { (yyval.boolean) = false; }
   45313             : #line 45314 "gram.c"
   45314        1056 :     break;
   45315             : 
   45316        2784 :   case 1579: /* opt_name_list: '(' name_list ')'  */
   45317             : #line 12013 "gram.y"
   45318             :                                                                                         { (yyval.list) = (yyvsp[-1].list); }
   45319             : #line 45320 "gram.c"
   45320        2784 :     break;
   45321             : 
   45322       15770 :   case 1580: /* opt_name_list: %empty  */
   45323             : #line 12014 "gram.y"
   45324             :                                                                                                 { (yyval.list) = NIL; }
   45325             : #line 45326 "gram.c"
   45326       15770 :     break;
   45327             : 
   45328       13308 :   case 1581: /* vacuum_relation: relation_expr opt_name_list  */
   45329             : #line 12019 "gram.y"
   45330             :                                 {
   45331             :                     (yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
   45332             :                 }
   45333             : #line 45334 "gram.c"
   45334       13308 :     break;
   45335             : 
   45336       13152 :   case 1582: /* vacuum_relation_list: vacuum_relation  */
   45337             : #line 12026 "gram.y"
   45338             :                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   45339             : #line 45340 "gram.c"
   45340       13152 :     break;
   45341             : 
   45342         156 :   case 1583: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation  */
   45343             : #line 12028 "gram.y"
   45344             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   45345             : #line 45346 "gram.c"
   45346         156 :     break;
   45347             : 
   45348       13152 :   case 1584: /* opt_vacuum_relation_list: vacuum_relation_list  */
   45349             : #line 12032 "gram.y"
   45350             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   45351             : #line 45352 "gram.c"
   45352       13152 :     break;
   45353             : 
   45354         382 :   case 1585: /* opt_vacuum_relation_list: %empty  */
   45355             : #line 12033 "gram.y"
   45356             :                                                                                                 { (yyval.list) = NIL; }
   45357             : #line 45358 "gram.c"
   45358         382 :     break;
   45359             : 
   45360        7714 :   case 1586: /* ExplainStmt: EXPLAIN ExplainableStmt  */
   45361             : #line 12047 "gram.y"
   45362             :                                 {
   45363             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45364             : 
   45365             :                     n->query = (yyvsp[0].node);
   45366             :                     n->options = NIL;
   45367             :                     (yyval.node) = (Node *) n;
   45368             :                 }
   45369             : #line 45370 "gram.c"
   45370        7714 :     break;
   45371             : 
   45372        2304 :   case 1587: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt  */
   45373             : #line 12055 "gram.y"
   45374             :                                 {
   45375             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45376             : 
   45377             :                     n->query = (yyvsp[0].node);
   45378             :                     n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
   45379             :                     if ((yyvsp[-1].boolean))
   45380             :                         n->options = lappend(n->options,
   45381             :                                              makeDefElem("verbose", NULL, (yylsp[-1])));
   45382             :                     (yyval.node) = (Node *) n;
   45383             :                 }
   45384             : #line 45385 "gram.c"
   45385        2304 :     break;
   45386             : 
   45387          12 :   case 1588: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt  */
   45388             : #line 12066 "gram.y"
   45389             :                                 {
   45390             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45391             : 
   45392             :                     n->query = (yyvsp[0].node);
   45393             :                     n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
   45394             :                     (yyval.node) = (Node *) n;
   45395             :                 }
   45396             : #line 45397 "gram.c"
   45397          12 :     break;
   45398             : 
   45399       13788 :   case 1589: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt  */
   45400             : #line 12074 "gram.y"
   45401             :                                 {
   45402             :                     ExplainStmt *n = makeNode(ExplainStmt);
   45403             : 
   45404             :                     n->query = (yyvsp[0].node);
   45405             :                     n->options = (yyvsp[-2].list);
   45406             :                     (yyval.node) = (Node *) n;
   45407             :                 }
   45408             : #line 45409 "gram.c"
   45409       13788 :     break;
   45410             : 
   45411        2138 :   case 1600: /* PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt  */
   45412             : #line 12104 "gram.y"
   45413             :                                 {
   45414             :                     PrepareStmt *n = makeNode(PrepareStmt);
   45415             : 
   45416             :                     n->name = (yyvsp[-3].str);
   45417             :                     n->argtypes = (yyvsp[-2].list);
   45418             :                     n->query = (yyvsp[0].node);
   45419             :                     (yyval.node) = (Node *) n;
   45420             :                 }
   45421             : #line 45422 "gram.c"
   45422        2138 :     break;
   45423             : 
   45424        1830 :   case 1601: /* prep_type_clause: '(' type_list ')'  */
   45425             : #line 12114 "gram.y"
   45426             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   45427             : #line 45428 "gram.c"
   45428        1830 :     break;
   45429             : 
   45430         326 :   case 1602: /* prep_type_clause: %empty  */
   45431             : #line 12115 "gram.y"
   45432             :                                                                         { (yyval.list) = NIL; }
   45433             : #line 45434 "gram.c"
   45434         326 :     break;
   45435             : 
   45436       19944 :   case 1608: /* ExecuteStmt: EXECUTE name execute_param_clause  */
   45437             : #line 12134 "gram.y"
   45438             :                                 {
   45439             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45440             : 
   45441             :                     n->name = (yyvsp[-1].str);
   45442             :                     n->params = (yyvsp[0].list);
   45443             :                     (yyval.node) = (Node *) n;
   45444             :                 }
   45445             : #line 45446 "gram.c"
   45446       19944 :     break;
   45447             : 
   45448          76 :   case 1609: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45449             : #line 12143 "gram.y"
   45450             :                                 {
   45451             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45452             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45453             : 
   45454             :                     n->name = (yyvsp[-2].str);
   45455             :                     n->params = (yyvsp[-1].list);
   45456             :                     ctas->query = (Node *) n;
   45457             :                     ctas->into = (yyvsp[-5].into);
   45458             :                     ctas->objtype = OBJECT_TABLE;
   45459             :                     ctas->is_select_into = false;
   45460             :                     ctas->if_not_exists = false;
   45461             :                     /* cram additional flags into the IntoClause */
   45462             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
   45463             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45464             :                     (yyval.node) = (Node *) ctas;
   45465             :                 }
   45466             : #line 45467 "gram.c"
   45467          76 :     break;
   45468             : 
   45469          12 :   case 1610: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data  */
   45470             : #line 12161 "gram.y"
   45471             :                                 {
   45472             :                     CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
   45473             :                     ExecuteStmt *n = makeNode(ExecuteStmt);
   45474             : 
   45475             :                     n->name = (yyvsp[-2].str);
   45476             :                     n->params = (yyvsp[-1].list);
   45477             :                     ctas->query = (Node *) n;
   45478             :                     ctas->into = (yyvsp[-5].into);
   45479             :                     ctas->objtype = OBJECT_TABLE;
   45480             :                     ctas->is_select_into = false;
   45481             :                     ctas->if_not_exists = true;
   45482             :                     /* cram additional flags into the IntoClause */
   45483             :                     (yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
   45484             :                     (yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
   45485             :                     (yyval.node) = (Node *) ctas;
   45486             :                 }
   45487             : #line 45488 "gram.c"
   45488          12 :     break;
   45489             : 
   45490       18890 :   case 1611: /* execute_param_clause: '(' expr_list ')'  */
   45491             : #line 12179 "gram.y"
   45492             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   45493             : #line 45494 "gram.c"
   45494       18890 :     break;
   45495             : 
   45496        1142 :   case 1612: /* execute_param_clause: %empty  */
   45497             : #line 12180 "gram.y"
   45498             :                                                                                         { (yyval.list) = NIL; }
   45499             : #line 45500 "gram.c"
   45500        1142 :     break;
   45501             : 
   45502        3984 :   case 1613: /* DeallocateStmt: DEALLOCATE name  */
   45503             : #line 12191 "gram.y"
   45504             :                                         {
   45505             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45506             : 
   45507             :                         n->name = (yyvsp[0].str);
   45508             :                         n->isall = false;
   45509             :                         n->location = (yylsp[0]);
   45510             :                         (yyval.node) = (Node *) n;
   45511             :                     }
   45512             : #line 45513 "gram.c"
   45513        3984 :     break;
   45514             : 
   45515          20 :   case 1614: /* DeallocateStmt: DEALLOCATE PREPARE name  */
   45516             : #line 12200 "gram.y"
   45517             :                                         {
   45518             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45519             : 
   45520             :                         n->name = (yyvsp[0].str);
   45521             :                         n->isall = false;
   45522             :                         n->location = (yylsp[0]);
   45523             :                         (yyval.node) = (Node *) n;
   45524             :                     }
   45525             : #line 45526 "gram.c"
   45526          20 :     break;
   45527             : 
   45528          54 :   case 1615: /* DeallocateStmt: DEALLOCATE ALL  */
   45529             : #line 12209 "gram.y"
   45530             :                                         {
   45531             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45532             : 
   45533             :                         n->name = NULL;
   45534             :                         n->isall = true;
   45535             :                         n->location = -1;
   45536             :                         (yyval.node) = (Node *) n;
   45537             :                     }
   45538             : #line 45539 "gram.c"
   45539          54 :     break;
   45540             : 
   45541           2 :   case 1616: /* DeallocateStmt: DEALLOCATE PREPARE ALL  */
   45542             : #line 12218 "gram.y"
   45543             :                                         {
   45544             :                         DeallocateStmt *n = makeNode(DeallocateStmt);
   45545             : 
   45546             :                         n->name = NULL;
   45547             :                         n->isall = true;
   45548             :                         n->location = -1;
   45549             :                         (yyval.node) = (Node *) n;
   45550             :                     }
   45551             : #line 45552 "gram.c"
   45552           2 :     break;
   45553             : 
   45554       68220 :   case 1617: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause  */
   45555             : #line 12238 "gram.y"
   45556             :                                 {
   45557             :                     (yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
   45558             :                     (yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
   45559             :                     (yyvsp[-2].istmt)->returningClause = (yyvsp[0].retclause);
   45560             :                     (yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
   45561             :                     (yyvsp[-2].istmt)->stmt_location = (yyloc);
   45562             :                     (yyval.node) = (Node *) (yyvsp[-2].istmt);
   45563             :                 }
   45564             : #line 45565 "gram.c"
   45565       68220 :     break;
   45566             : 
   45567       68088 :   case 1618: /* insert_target: qualified_name  */
   45568             : #line 12256 "gram.y"
   45569             :                                 {
   45570             :                     (yyval.range) = (yyvsp[0].range);
   45571             :                 }
   45572             : #line 45573 "gram.c"
   45573       68088 :     break;
   45574             : 
   45575         138 :   case 1619: /* insert_target: qualified_name AS ColId  */
   45576             : #line 12260 "gram.y"
   45577             :                                 {
   45578             :                     (yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
   45579             :                     (yyval.range) = (yyvsp[-2].range);
   45580             :                 }
   45581             : #line 45582 "gram.c"
   45582         138 :     break;
   45583             : 
   45584       43088 :   case 1620: /* insert_rest: SelectStmt  */
   45585             : #line 12268 "gram.y"
   45586             :                                 {
   45587             :                     (yyval.istmt) = makeNode(InsertStmt);
   45588             :                     (yyval.istmt)->cols = NIL;
   45589             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45590             :                 }
   45591             : #line 45592 "gram.c"
   45592       43088 :     break;
   45593             : 
   45594          96 :   case 1621: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt  */
   45595             : #line 12274 "gram.y"
   45596             :                                 {
   45597             :                     (yyval.istmt) = makeNode(InsertStmt);
   45598             :                     (yyval.istmt)->cols = NIL;
   45599             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45600             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45601             :                 }
   45602             : #line 45603 "gram.c"
   45603          96 :     break;
   45604             : 
   45605       14234 :   case 1622: /* insert_rest: '(' insert_column_list ')' SelectStmt  */
   45606             : #line 12281 "gram.y"
   45607             :                                 {
   45608             :                     (yyval.istmt) = makeNode(InsertStmt);
   45609             :                     (yyval.istmt)->cols = (yyvsp[-2].list);
   45610             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45611             :                 }
   45612             : #line 45613 "gram.c"
   45613       14234 :     break;
   45614             : 
   45615           0 :   case 1623: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt  */
   45616             : #line 12287 "gram.y"
   45617             :                                 {
   45618             :                     (yyval.istmt) = makeNode(InsertStmt);
   45619             :                     (yyval.istmt)->cols = (yyvsp[-5].list);
   45620             :                     (yyval.istmt)->override = (yyvsp[-2].ival);
   45621             :                     (yyval.istmt)->selectStmt = (yyvsp[0].node);
   45622             :                 }
   45623             : #line 45624 "gram.c"
   45624           0 :     break;
   45625             : 
   45626       10808 :   case 1624: /* insert_rest: DEFAULT VALUES  */
   45627             : #line 12294 "gram.y"
   45628             :                                 {
   45629             :                     (yyval.istmt) = makeNode(InsertStmt);
   45630             :                     (yyval.istmt)->cols = NIL;
   45631             :                     (yyval.istmt)->selectStmt = NULL;
   45632             :                 }
   45633             : #line 45634 "gram.c"
   45634       10808 :     break;
   45635             : 
   45636          66 :   case 1625: /* override_kind: USER  */
   45637             : #line 12302 "gram.y"
   45638             :                                         { (yyval.ival) = OVERRIDING_USER_VALUE; }
   45639             : #line 45640 "gram.c"
   45640          66 :     break;
   45641             : 
   45642          60 :   case 1626: /* override_kind: SYSTEM_P  */
   45643             : #line 12303 "gram.y"
   45644             :                                         { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
   45645             : #line 45646 "gram.c"
   45646          60 :     break;
   45647             : 
   45648       14562 :   case 1627: /* insert_column_list: insert_column_item  */
   45649             : #line 12308 "gram.y"
   45650             :                                         { (yyval.list) = list_make1((yyvsp[0].target)); }
   45651             : #line 45652 "gram.c"
   45652       14562 :     break;
   45653             : 
   45654       16124 :   case 1628: /* insert_column_list: insert_column_list ',' insert_column_item  */
   45655             : #line 12310 "gram.y"
   45656             :                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   45657             : #line 45658 "gram.c"
   45658       16124 :     break;
   45659             : 
   45660       30686 :   case 1629: /* insert_column_item: ColId opt_indirection  */
   45661             : #line 12315 "gram.y"
   45662             :                                 {
   45663             :                     (yyval.target) = makeNode(ResTarget);
   45664             :                     (yyval.target)->name = (yyvsp[-1].str);
   45665             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   45666             :                     (yyval.target)->val = NULL;
   45667             :                     (yyval.target)->location = (yylsp[-1]);
   45668             :                 }
   45669             : #line 45670 "gram.c"
   45670       30686 :     break;
   45671             : 
   45672        1304 :   case 1630: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause  */
   45673             : #line 12326 "gram.y"
   45674             :                                 {
   45675             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   45676             :                     (yyval.onconflict)->action = ONCONFLICT_UPDATE;
   45677             :                     (yyval.onconflict)->infer = (yyvsp[-5].infer);
   45678             :                     (yyval.onconflict)->targetList = (yyvsp[-1].list);
   45679             :                     (yyval.onconflict)->whereClause = (yyvsp[0].node);
   45680             :                     (yyval.onconflict)->location = (yylsp[-7]);
   45681             :                 }
   45682             : #line 45683 "gram.c"
   45683        1304 :     break;
   45684             : 
   45685         550 :   case 1631: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING  */
   45686             : #line 12336 "gram.y"
   45687             :                                 {
   45688             :                     (yyval.onconflict) = makeNode(OnConflictClause);
   45689             :                     (yyval.onconflict)->action = ONCONFLICT_NOTHING;
   45690             :                     (yyval.onconflict)->infer = (yyvsp[-2].infer);
   45691             :                     (yyval.onconflict)->targetList = NIL;
   45692             :                     (yyval.onconflict)->whereClause = NULL;
   45693             :                     (yyval.onconflict)->location = (yylsp[-4]);
   45694             :                 }
   45695             : #line 45696 "gram.c"
   45696         550 :     break;
   45697             : 
   45698       66372 :   case 1632: /* opt_on_conflict: %empty  */
   45699             : #line 12345 "gram.y"
   45700             :                                 {
   45701             :                     (yyval.onconflict) = NULL;
   45702             :                 }
   45703             : #line 45704 "gram.c"
   45704       66372 :     break;
   45705             : 
   45706        1428 :   case 1633: /* opt_conf_expr: '(' index_params ')' where_clause  */
   45707             : #line 12352 "gram.y"
   45708             :                                 {
   45709             :                     (yyval.infer) = makeNode(InferClause);
   45710             :                     (yyval.infer)->indexElems = (yyvsp[-2].list);
   45711             :                     (yyval.infer)->whereClause = (yyvsp[0].node);
   45712             :                     (yyval.infer)->conname = NULL;
   45713             :                     (yyval.infer)->location = (yylsp[-3]);
   45714             :                 }
   45715             : #line 45716 "gram.c"
   45716        1428 :     break;
   45717             : 
   45718         192 :   case 1634: /* opt_conf_expr: ON CONSTRAINT name  */
   45719             : #line 12361 "gram.y"
   45720             :                                 {
   45721             :                     (yyval.infer) = makeNode(InferClause);
   45722             :                     (yyval.infer)->indexElems = NIL;
   45723             :                     (yyval.infer)->whereClause = NULL;
   45724             :                     (yyval.infer)->conname = (yyvsp[0].str);
   45725             :                     (yyval.infer)->location = (yylsp[-2]);
   45726             :                 }
   45727             : #line 45728 "gram.c"
   45728         192 :     break;
   45729             : 
   45730         234 :   case 1635: /* opt_conf_expr: %empty  */
   45731             : #line 12369 "gram.y"
   45732             :                                 {
   45733             :                     (yyval.infer) = NULL;
   45734             :                 }
   45735             : #line 45736 "gram.c"
   45736         234 :     break;
   45737             : 
   45738        3164 :   case 1636: /* returning_clause: RETURNING returning_with_clause target_list  */
   45739             : #line 12376 "gram.y"
   45740             :                                 {
   45741             :                     ReturningClause *n = makeNode(ReturningClause);
   45742             : 
   45743             :                     n->options = (yyvsp[-1].list);
   45744             :                     n->exprs = (yyvsp[0].list);
   45745             :                     (yyval.retclause) = n;
   45746             :                 }
   45747             : #line 45748 "gram.c"
   45748        3164 :     break;
   45749             : 
   45750       85754 :   case 1637: /* returning_clause: %empty  */
   45751             : #line 12384 "gram.y"
   45752             :                                 {
   45753             :                     (yyval.retclause) = NULL;
   45754             :                 }
   45755             : #line 45756 "gram.c"
   45756       85754 :     break;
   45757             : 
   45758          72 :   case 1638: /* returning_with_clause: WITH '(' returning_options ')'  */
   45759             : #line 12390 "gram.y"
   45760             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   45761             : #line 45762 "gram.c"
   45762          72 :     break;
   45763             : 
   45764        3092 :   case 1639: /* returning_with_clause: %empty  */
   45765             : #line 12391 "gram.y"
   45766             :                                                                                 { (yyval.list) = NIL; }
   45767             : #line 45768 "gram.c"
   45768        3092 :     break;
   45769             : 
   45770          72 :   case 1640: /* returning_options: returning_option  */
   45771             : #line 12395 "gram.y"
   45772             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   45773             : #line 45774 "gram.c"
   45774          72 :     break;
   45775             : 
   45776          54 :   case 1641: /* returning_options: returning_options ',' returning_option  */
   45777             : #line 12396 "gram.y"
   45778             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   45779             : #line 45780 "gram.c"
   45780          54 :     break;
   45781             : 
   45782         126 :   case 1642: /* returning_option: returning_option_kind AS ColId  */
   45783             : #line 12401 "gram.y"
   45784             :                                 {
   45785             :                     ReturningOption *n = makeNode(ReturningOption);
   45786             : 
   45787             :                     n->option = (yyvsp[-2].retoptionkind);
   45788             :                     n->value = (yyvsp[0].str);
   45789             :                     n->location = (yylsp[-2]);
   45790             :                     (yyval.node) = (Node *) n;
   45791             :                 }
   45792             : #line 45793 "gram.c"
   45793         126 :     break;
   45794             : 
   45795          54 :   case 1643: /* returning_option_kind: OLD  */
   45796             : #line 12412 "gram.y"
   45797             :                                                 { (yyval.retoptionkind) = RETURNING_OPTION_OLD; }
   45798             : #line 45799 "gram.c"
   45799          54 :     break;
   45800             : 
   45801          72 :   case 1644: /* returning_option_kind: NEW  */
   45802             : #line 12413 "gram.y"
   45803             :                                         { (yyval.retoptionkind) = RETURNING_OPTION_NEW; }
   45804             : #line 45805 "gram.c"
   45805          72 :     break;
   45806             : 
   45807        4622 :   case 1645: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause  */
   45808             : #line 12426 "gram.y"
   45809             :                                 {
   45810             :                     DeleteStmt *n = makeNode(DeleteStmt);
   45811             : 
   45812             :                     n->relation = (yyvsp[-3].range);
   45813             :                     n->usingClause = (yyvsp[-2].list);
   45814             :                     n->whereClause = (yyvsp[-1].node);
   45815             :                     n->returningClause = (yyvsp[0].retclause);
   45816             :                     n->withClause = (yyvsp[-6].with);
   45817             :                     n->stmt_location = (yyloc);
   45818             :                     (yyval.node) = (Node *) n;
   45819             :                 }
   45820             : #line 45821 "gram.c"
   45821        4622 :     break;
   45822             : 
   45823         108 :   case 1646: /* using_clause: USING from_list  */
   45824             : #line 12440 "gram.y"
   45825             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   45826             : #line 45827 "gram.c"
   45827         108 :     break;
   45828             : 
   45829        4514 :   case 1647: /* using_clause: %empty  */
   45830             : #line 12441 "gram.y"
   45831             :                                                                                                 { (yyval.list) = NIL; }
   45832             : #line 45833 "gram.c"
   45833        4514 :     break;
   45834             : 
   45835        2514 :   case 1648: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait  */
   45836             : #line 12453 "gram.y"
   45837             :                                 {
   45838             :                     LockStmt   *n = makeNode(LockStmt);
   45839             : 
   45840             :                     n->relations = (yyvsp[-2].list);
   45841             :                     n->mode = (yyvsp[-1].ival);
   45842             :                     n->nowait = (yyvsp[0].boolean);
   45843             :                     (yyval.node) = (Node *) n;
   45844             :                 }
   45845             : #line 45846 "gram.c"
   45846        2514 :     break;
   45847             : 
   45848        2406 :   case 1649: /* opt_lock: IN_P lock_type MODE  */
   45849             : #line 12463 "gram.y"
   45850             :                                                                 { (yyval.ival) = (yyvsp[-1].ival); }
   45851             : #line 45852 "gram.c"
   45852        2406 :     break;
   45853             : 
   45854         108 :   case 1650: /* opt_lock: %empty  */
   45855             : #line 12464 "gram.y"
   45856             :                                                                                 { (yyval.ival) = AccessExclusiveLock; }
   45857             : #line 45858 "gram.c"
   45858         108 :     break;
   45859             : 
   45860        1916 :   case 1651: /* lock_type: ACCESS SHARE  */
   45861             : #line 12467 "gram.y"
   45862             :                                                                 { (yyval.ival) = AccessShareLock; }
   45863             : #line 45864 "gram.c"
   45864        1916 :     break;
   45865             : 
   45866          14 :   case 1652: /* lock_type: ROW SHARE  */
   45867             : #line 12468 "gram.y"
   45868             :                                                                                 { (yyval.ival) = RowShareLock; }
   45869             : #line 45870 "gram.c"
   45870          14 :     break;
   45871             : 
   45872          88 :   case 1653: /* lock_type: ROW EXCLUSIVE  */
   45873             : #line 12469 "gram.y"
   45874             :                                                                         { (yyval.ival) = RowExclusiveLock; }
   45875             : #line 45876 "gram.c"
   45876          88 :     break;
   45877             : 
   45878          66 :   case 1654: /* lock_type: SHARE UPDATE EXCLUSIVE  */
   45879             : #line 12470 "gram.y"
   45880             :                                                                 { (yyval.ival) = ShareUpdateExclusiveLock; }
   45881             : #line 45882 "gram.c"
   45882          66 :     break;
   45883             : 
   45884          80 :   case 1655: /* lock_type: SHARE  */
   45885             : #line 12471 "gram.y"
   45886             :                                                                                 { (yyval.ival) = ShareLock; }
   45887             : #line 45888 "gram.c"
   45888          80 :     break;
   45889             : 
   45890          14 :   case 1656: /* lock_type: SHARE ROW EXCLUSIVE  */
   45891             : #line 12472 "gram.y"
   45892             :                                                                 { (yyval.ival) = ShareRowExclusiveLock; }
   45893             : #line 45894 "gram.c"
   45894          14 :     break;
   45895             : 
   45896         102 :   case 1657: /* lock_type: EXCLUSIVE  */
   45897             : #line 12473 "gram.y"
   45898             :                                                                                 { (yyval.ival) = ExclusiveLock; }
   45899             : #line 45900 "gram.c"
   45900         102 :     break;
   45901             : 
   45902         126 :   case 1658: /* lock_type: ACCESS EXCLUSIVE  */
   45903             : #line 12474 "gram.y"
   45904             :                                                                         { (yyval.ival) = AccessExclusiveLock; }
   45905             : #line 45906 "gram.c"
   45906         126 :     break;
   45907             : 
   45908        1582 :   case 1659: /* opt_nowait: NOWAIT  */
   45909             : #line 12477 "gram.y"
   45910             :                                                                         { (yyval.boolean) = true; }
   45911             : #line 45912 "gram.c"
   45912        1582 :     break;
   45913             : 
   45914         962 :   case 1660: /* opt_nowait: %empty  */
   45915             : #line 12478 "gram.y"
   45916             :                                                                                 { (yyval.boolean) = false; }
   45917             : #line 45918 "gram.c"
   45918         962 :     break;
   45919             : 
   45920          50 :   case 1661: /* opt_nowait_or_skip: NOWAIT  */
   45921             : #line 12482 "gram.y"
   45922             :                                                                                 { (yyval.ival) = LockWaitError; }
   45923             : #line 45924 "gram.c"
   45924          50 :     break;
   45925             : 
   45926         190 :   case 1662: /* opt_nowait_or_skip: SKIP LOCKED  */
   45927             : #line 12483 "gram.y"
   45928             :                                                                         { (yyval.ival) = LockWaitSkip; }
   45929             : #line 45930 "gram.c"
   45930         190 :     break;
   45931             : 
   45932        5016 :   case 1663: /* opt_nowait_or_skip: %empty  */
   45933             : #line 12484 "gram.y"
   45934             :                                                                                 { (yyval.ival) = LockWaitBlock; }
   45935             : #line 45936 "gram.c"
   45936        5016 :     break;
   45937             : 
   45938       13994 :   case 1664: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause  */
   45939             : #line 12500 "gram.y"
   45940             :                                 {
   45941             :                     UpdateStmt *n = makeNode(UpdateStmt);
   45942             : 
   45943             :                     n->relation = (yyvsp[-5].range);
   45944             :                     n->targetList = (yyvsp[-3].list);
   45945             :                     n->fromClause = (yyvsp[-2].list);
   45946             :                     n->whereClause = (yyvsp[-1].node);
   45947             :                     n->returningClause = (yyvsp[0].retclause);
   45948             :                     n->withClause = (yyvsp[-7].with);
   45949             :                     n->stmt_location = (yyloc);
   45950             :                     (yyval.node) = (Node *) n;
   45951             :                 }
   45952             : #line 45953 "gram.c"
   45953       13994 :     break;
   45954             : 
   45955       16848 :   case 1665: /* set_clause_list: set_clause  */
   45956             : #line 12515 "gram.y"
   45957             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   45958             : #line 45959 "gram.c"
   45959       16848 :     break;
   45960             : 
   45961        4094 :   case 1666: /* set_clause_list: set_clause_list ',' set_clause  */
   45962             : #line 12516 "gram.y"
   45963             :                                                                 { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
   45964             : #line 45965 "gram.c"
   45965        4094 :     break;
   45966             : 
   45967       20758 :   case 1667: /* set_clause: set_target '=' a_expr  */
   45968             : #line 12521 "gram.y"
   45969             :                                 {
   45970             :                     (yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
   45971             :                     (yyval.list) = list_make1((yyvsp[-2].target));
   45972             :                 }
   45973             : #line 45974 "gram.c"
   45974       20758 :     break;
   45975             : 
   45976         184 :   case 1668: /* set_clause: '(' set_target_list ')' '=' a_expr  */
   45977             : #line 12526 "gram.y"
   45978             :                                 {
   45979             :                     int         ncolumns = list_length((yyvsp[-3].list));
   45980             :                     int         i = 1;
   45981             :                     ListCell   *col_cell;
   45982             : 
   45983             :                     /* Create a MultiAssignRef source for each target */
   45984             :                     foreach(col_cell, (yyvsp[-3].list))
   45985             :                     {
   45986             :                         ResTarget  *res_col = (ResTarget *) lfirst(col_cell);
   45987             :                         MultiAssignRef *r = makeNode(MultiAssignRef);
   45988             : 
   45989             :                         r->source = (Node *) (yyvsp[0].node);
   45990             :                         r->colno = i;
   45991             :                         r->ncolumns = ncolumns;
   45992             :                         res_col->val = (Node *) r;
   45993             :                         i++;
   45994             :                     }
   45995             : 
   45996             :                     (yyval.list) = (yyvsp[-3].list);
   45997             :                 }
   45998             : #line 45999 "gram.c"
   45999         184 :     break;
   46000             : 
   46001       21148 :   case 1669: /* set_target: ColId opt_indirection  */
   46002             : #line 12550 "gram.y"
   46003             :                                 {
   46004             :                     (yyval.target) = makeNode(ResTarget);
   46005             :                     (yyval.target)->name = (yyvsp[-1].str);
   46006             :                     (yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
   46007             :                     (yyval.target)->val = NULL;  /* upper production sets this */
   46008             :                     (yyval.target)->location = (yylsp[-1]);
   46009             :                 }
   46010             : #line 46011 "gram.c"
   46011       21148 :     break;
   46012             : 
   46013         190 :   case 1670: /* set_target_list: set_target  */
   46014             : #line 12560 "gram.y"
   46015             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   46016             : #line 46017 "gram.c"
   46017         190 :     break;
   46018             : 
   46019         200 :   case 1671: /* set_target_list: set_target_list ',' set_target  */
   46020             : #line 12561 "gram.y"
   46021             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
   46022             : #line 46023 "gram.c"
   46023         200 :     break;
   46024             : 
   46025        2082 :   case 1672: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list returning_clause  */
   46026             : #line 12578 "gram.y"
   46027             :                                 {
   46028             :                     MergeStmt  *m = makeNode(MergeStmt);
   46029             : 
   46030             :                     m->withClause = (yyvsp[-9].with);
   46031             :                     m->relation = (yyvsp[-6].range);
   46032             :                     m->sourceRelation = (yyvsp[-4].node);
   46033             :                     m->joinCondition = (yyvsp[-2].node);
   46034             :                     m->mergeWhenClauses = (yyvsp[-1].list);
   46035             :                     m->returningClause = (yyvsp[0].retclause);
   46036             :                     m->stmt_location = (yyloc);
   46037             : 
   46038             :                     (yyval.node) = (Node *) m;
   46039             :                 }
   46040             : #line 46041 "gram.c"
   46041        2082 :     break;
   46042             : 
   46043        2082 :   case 1673: /* merge_when_list: merge_when_clause  */
   46044             : #line 12594 "gram.y"
   46045             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   46046             : #line 46047 "gram.c"
   46047        2082 :     break;
   46048             : 
   46049        1164 :   case 1674: /* merge_when_list: merge_when_list merge_when_clause  */
   46050             : #line 12595 "gram.y"
   46051             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list),(yyvsp[0].node)); }
   46052             : #line 46053 "gram.c"
   46053        1164 :     break;
   46054             : 
   46055        1550 :   case 1675: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_update  */
   46056             : #line 12606 "gram.y"
   46057             :                                 {
   46058             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46059             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46060             : 
   46061             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46062             :                 }
   46063             : #line 46064 "gram.c"
   46064        1550 :     break;
   46065             : 
   46066         518 :   case 1676: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN merge_delete  */
   46067             : #line 12613 "gram.y"
   46068             :                                 {
   46069             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46070             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46071             : 
   46072             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46073             :                 }
   46074             : #line 46075 "gram.c"
   46075         518 :     break;
   46076             : 
   46077        1094 :   case 1677: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN merge_insert  */
   46078             : #line 12620 "gram.y"
   46079             :                                 {
   46080             :                     (yyvsp[0].mergewhen)->matchKind = (yyvsp[-3].mergematch);
   46081             :                     (yyvsp[0].mergewhen)->condition = (yyvsp[-2].node);
   46082             : 
   46083             :                     (yyval.node) = (Node *) (yyvsp[0].mergewhen);
   46084             :                 }
   46085             : #line 46086 "gram.c"
   46086        1094 :     break;
   46087             : 
   46088          64 :   case 1678: /* merge_when_clause: merge_when_tgt_matched opt_merge_when_condition THEN DO NOTHING  */
   46089             : #line 12627 "gram.y"
   46090             :                                 {
   46091             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46092             : 
   46093             :                     m->matchKind = (yyvsp[-4].mergematch);
   46094             :                     m->commandType = CMD_NOTHING;
   46095             :                     m->condition = (yyvsp[-3].node);
   46096             : 
   46097             :                     (yyval.node) = (Node *) m;
   46098             :                 }
   46099             : #line 46100 "gram.c"
   46100          64 :     break;
   46101             : 
   46102          20 :   case 1679: /* merge_when_clause: merge_when_tgt_not_matched opt_merge_when_condition THEN DO NOTHING  */
   46103             : #line 12637 "gram.y"
   46104             :                                 {
   46105             :                     MergeWhenClause *m = makeNode(MergeWhenClause);
   46106             : 
   46107             :                     m->matchKind = (yyvsp[-4].mergematch);
   46108             :                     m->commandType = CMD_NOTHING;
   46109             :                     m->condition = (yyvsp[-3].node);
   46110             : 
   46111             :                     (yyval.node) = (Node *) m;
   46112             :                 }
   46113             : #line 46114 "gram.c"
   46114          20 :     break;
   46115             : 
   46116        1970 :   case 1680: /* merge_when_tgt_matched: WHEN MATCHED  */
   46117             : #line 12649 "gram.y"
   46118             :                                                                         { (yyval.mergematch) = MERGE_WHEN_MATCHED; }
   46119             : #line 46120 "gram.c"
   46120        1970 :     break;
   46121             : 
   46122         180 :   case 1681: /* merge_when_tgt_matched: WHEN NOT MATCHED BY SOURCE  */
   46123             : #line 12650 "gram.y"
   46124             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_SOURCE; }
   46125             : #line 46126 "gram.c"
   46126         180 :     break;
   46127             : 
   46128        1120 :   case 1682: /* merge_when_tgt_not_matched: WHEN NOT MATCHED  */
   46129             : #line 12654 "gram.y"
   46130             :                                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46131             : #line 46132 "gram.c"
   46132        1120 :     break;
   46133             : 
   46134          18 :   case 1683: /* merge_when_tgt_not_matched: WHEN NOT MATCHED BY TARGET  */
   46135             : #line 12655 "gram.y"
   46136             :                                                         { (yyval.mergematch) = MERGE_WHEN_NOT_MATCHED_BY_TARGET; }
   46137             : #line 46138 "gram.c"
   46138          18 :     break;
   46139             : 
   46140         808 :   case 1684: /* opt_merge_when_condition: AND a_expr  */
   46141             : #line 12659 "gram.y"
   46142             :                                                                 { (yyval.node) = (yyvsp[0].node); }
   46143             : #line 46144 "gram.c"
   46144         808 :     break;
   46145             : 
   46146        2480 :   case 1685: /* opt_merge_when_condition: %empty  */
   46147             : #line 12660 "gram.y"
   46148             :                                                                         { (yyval.node) = NULL; }
   46149             : #line 46150 "gram.c"
   46150        2480 :     break;
   46151             : 
   46152        1550 :   case 1686: /* merge_update: UPDATE SET set_clause_list  */
   46153             : #line 12665 "gram.y"
   46154             :                                 {
   46155             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46156             :                     n->commandType = CMD_UPDATE;
   46157             :                     n->override = OVERRIDING_NOT_SET;
   46158             :                     n->targetList = (yyvsp[0].list);
   46159             :                     n->values = NIL;
   46160             : 
   46161             :                     (yyval.mergewhen) = n;
   46162             :                 }
   46163             : #line 46164 "gram.c"
   46164        1550 :     break;
   46165             : 
   46166         518 :   case 1687: /* merge_delete: DELETE_P  */
   46167             : #line 12678 "gram.y"
   46168             :                                 {
   46169             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46170             :                     n->commandType = CMD_DELETE;
   46171             :                     n->override = OVERRIDING_NOT_SET;
   46172             :                     n->targetList = NIL;
   46173             :                     n->values = NIL;
   46174             : 
   46175             :                     (yyval.mergewhen) = n;
   46176             :                 }
   46177             : #line 46178 "gram.c"
   46178         518 :     break;
   46179             : 
   46180         730 :   case 1688: /* merge_insert: INSERT merge_values_clause  */
   46181             : #line 12691 "gram.y"
   46182             :                                 {
   46183             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46184             :                     n->commandType = CMD_INSERT;
   46185             :                     n->override = OVERRIDING_NOT_SET;
   46186             :                     n->targetList = NIL;
   46187             :                     n->values = (yyvsp[0].list);
   46188             :                     (yyval.mergewhen) = n;
   46189             :                 }
   46190             : #line 46191 "gram.c"
   46191         730 :     break;
   46192             : 
   46193           0 :   case 1689: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause  */
   46194             : #line 12700 "gram.y"
   46195             :                                 {
   46196             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46197             :                     n->commandType = CMD_INSERT;
   46198             :                     n->override = (yyvsp[-2].ival);
   46199             :                     n->targetList = NIL;
   46200             :                     n->values = (yyvsp[0].list);
   46201             :                     (yyval.mergewhen) = n;
   46202             :                 }
   46203             : #line 46204 "gram.c"
   46204           0 :     break;
   46205             : 
   46206         298 :   case 1690: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause  */
   46207             : #line 12709 "gram.y"
   46208             :                                 {
   46209             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46210             :                     n->commandType = CMD_INSERT;
   46211             :                     n->override = OVERRIDING_NOT_SET;
   46212             :                     n->targetList = (yyvsp[-2].list);
   46213             :                     n->values = (yyvsp[0].list);
   46214             :                     (yyval.mergewhen) = n;
   46215             :                 }
   46216             : #line 46217 "gram.c"
   46217         298 :     break;
   46218             : 
   46219          30 :   case 1691: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause  */
   46220             : #line 12718 "gram.y"
   46221             :                                 {
   46222             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46223             :                     n->commandType = CMD_INSERT;
   46224             :                     n->override = (yyvsp[-2].ival);
   46225             :                     n->targetList = (yyvsp[-5].list);
   46226             :                     n->values = (yyvsp[0].list);
   46227             :                     (yyval.mergewhen) = n;
   46228             :                 }
   46229             : #line 46230 "gram.c"
   46230          30 :     break;
   46231             : 
   46232          36 :   case 1692: /* merge_insert: INSERT DEFAULT VALUES  */
   46233             : #line 12727 "gram.y"
   46234             :                                 {
   46235             :                     MergeWhenClause *n = makeNode(MergeWhenClause);
   46236             :                     n->commandType = CMD_INSERT;
   46237             :                     n->override = OVERRIDING_NOT_SET;
   46238             :                     n->targetList = NIL;
   46239             :                     n->values = NIL;
   46240             :                     (yyval.mergewhen) = n;
   46241             :                 }
   46242             : #line 46243 "gram.c"
   46243          36 :     break;
   46244             : 
   46245        1058 :   case 1693: /* merge_values_clause: VALUES '(' expr_list ')'  */
   46246             : #line 12739 "gram.y"
   46247             :                                 {
   46248             :                     (yyval.list) = (yyvsp[-1].list);
   46249             :                 }
   46250             : #line 46251 "gram.c"
   46251        1058 :     break;
   46252             : 
   46253        4606 :   case 1694: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt  */
   46254             : #line 12751 "gram.y"
   46255             :                                 {
   46256             :                     DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
   46257             : 
   46258             :                     n->portalname = (yyvsp[-5].str);
   46259             :                     /* currently we always set FAST_PLAN option */
   46260             :                     n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
   46261             :                     n->query = (yyvsp[0].node);
   46262             :                     (yyval.node) = (Node *) n;
   46263             :                 }
   46264             : #line 46265 "gram.c"
   46265        4606 :     break;
   46266             : 
   46267       14656 :   case 1695: /* cursor_name: name  */
   46268             : #line 12762 "gram.y"
   46269             :                                                                 { (yyval.str) = (yyvsp[0].str); }
   46270             : #line 46271 "gram.c"
   46271       14656 :     break;
   46272             : 
   46273        4606 :   case 1696: /* cursor_options: %empty  */
   46274             : #line 12765 "gram.y"
   46275             :                                                                 { (yyval.ival) = 0; }
   46276             : #line 46277 "gram.c"
   46277        4606 :     break;
   46278             : 
   46279          28 :   case 1697: /* cursor_options: cursor_options NO SCROLL  */
   46280             : #line 12766 "gram.y"
   46281             :                                                                 { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
   46282             : #line 46283 "gram.c"
   46283          28 :     break;
   46284             : 
   46285         240 :   case 1698: /* cursor_options: cursor_options SCROLL  */
   46286             : #line 12767 "gram.y"
   46287             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
   46288             : #line 46289 "gram.c"
   46289         240 :     break;
   46290             : 
   46291          14 :   case 1699: /* cursor_options: cursor_options BINARY  */
   46292             : #line 12768 "gram.y"
   46293             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
   46294             : #line 46295 "gram.c"
   46295          14 :     break;
   46296             : 
   46297           0 :   case 1700: /* cursor_options: cursor_options ASENSITIVE  */
   46298             : #line 12769 "gram.y"
   46299             :                                                                 { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_ASENSITIVE; }
   46300             : #line 46301 "gram.c"
   46301           0 :     break;
   46302             : 
   46303           6 :   case 1701: /* cursor_options: cursor_options INSENSITIVE  */
   46304             : #line 12770 "gram.y"
   46305             :                                                         { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
   46306             : #line 46307 "gram.c"
   46307           6 :     break;
   46308             : 
   46309        4508 :   case 1702: /* opt_hold: %empty  */
   46310             : #line 12773 "gram.y"
   46311             :                                                                 { (yyval.ival) = 0; }
   46312             : #line 46313 "gram.c"
   46313        4508 :     break;
   46314             : 
   46315          92 :   case 1703: /* opt_hold: WITH HOLD  */
   46316             : #line 12774 "gram.y"
   46317             :                                                                                 { (yyval.ival) = CURSOR_OPT_HOLD; }
   46318             : #line 46319 "gram.c"
   46319          92 :     break;
   46320             : 
   46321           6 :   case 1704: /* opt_hold: WITHOUT HOLD  */
   46322             : #line 12775 "gram.y"
   46323             :                                                                         { (yyval.ival) = 0; }
   46324             : #line 46325 "gram.c"
   46325           6 :     break;
   46326             : 
   46327       66558 :   case 1707: /* select_with_parens: '(' select_no_parens ')'  */
   46328             : #line 12829 "gram.y"
   46329             :                                 {
   46330             :                     SelectStmt *n = (SelectStmt *) (yyvsp[-1].node);
   46331             : 
   46332             :                     /*
   46333             :                      * As SelectStmt's location starts at the SELECT keyword,
   46334             :                      * we need to track the length of the SelectStmt within
   46335             :                      * parentheses to be able to extract the relevant part
   46336             :                      * of the query.  Without this, the RawStmt's length would
   46337             :                      * be used and would include the closing parenthesis.
   46338             :                      */
   46339             :                     n->stmt_len = (yylsp[0]) - (yylsp[-1]);
   46340             :                     (yyval.node) = (yyvsp[-1].node);
   46341             :                 }
   46342             : #line 46343 "gram.c"
   46343       66558 :     break;
   46344             : 
   46345         156 :   case 1708: /* select_with_parens: '(' select_with_parens ')'  */
   46346             : #line 12842 "gram.y"
   46347             :                                                                         { (yyval.node) = (yyvsp[-1].node); }
   46348             : #line 46349 "gram.c"
   46349         156 :     break;
   46350             : 
   46351      393020 :   case 1709: /* select_no_parens: simple_select  */
   46352             : #line 12857 "gram.y"
   46353             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46354             : #line 46355 "gram.c"
   46355      393020 :     break;
   46356             : 
   46357       72338 :   case 1710: /* select_no_parens: select_clause sort_clause  */
   46358             : #line 12859 "gram.y"
   46359             :                                 {
   46360             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46361             :                                         NULL, NULL,
   46362             :                                         yyscanner);
   46363             :                     (yyval.node) = (yyvsp[-1].node);
   46364             :                 }
   46365             : #line 46366 "gram.c"
   46366       72338 :     break;
   46367             : 
   46368        4808 :   case 1711: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46369             : #line 12866 "gram.y"
   46370             :                                 {
   46371             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46372             :                                         (yyvsp[0].selectlimit),
   46373             :                                         NULL,
   46374             :                                         yyscanner);
   46375             :                     (yyval.node) = (yyvsp[-3].node);
   46376             :                 }
   46377             : #line 46378 "gram.c"
   46378        4808 :     break;
   46379             : 
   46380        4856 :   case 1712: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46381             : #line 12874 "gram.y"
   46382             :                                 {
   46383             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46384             :                                         (yyvsp[-1].selectlimit),
   46385             :                                         NULL,
   46386             :                                         yyscanner);
   46387             :                     (yyval.node) = (yyvsp[-3].node);
   46388             :                 }
   46389             : #line 46390 "gram.c"
   46390        4844 :     break;
   46391             : 
   46392        2244 :   case 1713: /* select_no_parens: with_clause select_clause  */
   46393             : #line 12882 "gram.y"
   46394             :                                 {
   46395             :                     insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
   46396             :                                         NULL,
   46397             :                                         (yyvsp[-1].with),
   46398             :                                         yyscanner);
   46399             :                     (yyval.node) = (yyvsp[0].node);
   46400             :                 }
   46401             : #line 46402 "gram.c"
   46402        2244 :     break;
   46403             : 
   46404         578 :   case 1714: /* select_no_parens: with_clause select_clause sort_clause  */
   46405             : #line 12890 "gram.y"
   46406             :                                 {
   46407             :                     insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
   46408             :                                         NULL,
   46409             :                                         (yyvsp[-2].with),
   46410             :                                         yyscanner);
   46411             :                     (yyval.node) = (yyvsp[-1].node);
   46412             :                 }
   46413             : #line 46414 "gram.c"
   46414         578 :     break;
   46415             : 
   46416           6 :   case 1715: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit  */
   46417             : #line 12898 "gram.y"
   46418             :                                 {
   46419             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
   46420             :                                         (yyvsp[0].selectlimit),
   46421             :                                         (yyvsp[-4].with),
   46422             :                                         yyscanner);
   46423             :                     (yyval.node) = (yyvsp[-3].node);
   46424             :                 }
   46425             : #line 46426 "gram.c"
   46426           6 :     break;
   46427             : 
   46428          64 :   case 1716: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause  */
   46429             : #line 12906 "gram.y"
   46430             :                                 {
   46431             :                     insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
   46432             :                                         (yyvsp[-1].selectlimit),
   46433             :                                         (yyvsp[-4].with),
   46434             :                                         yyscanner);
   46435             :                     (yyval.node) = (yyvsp[-3].node);
   46436             :                 }
   46437             : #line 46438 "gram.c"
   46438          64 :     break;
   46439             : 
   46440      122964 :   case 1717: /* select_clause: simple_select  */
   46441             : #line 12916 "gram.y"
   46442             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46443             : #line 46444 "gram.c"
   46444      122964 :     break;
   46445             : 
   46446         586 :   case 1718: /* select_clause: select_with_parens  */
   46447             : #line 12917 "gram.y"
   46448             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   46449             : #line 46450 "gram.c"
   46450         586 :     break;
   46451             : 
   46452      433930 :   case 1719: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46453             : #line 12952 "gram.y"
   46454             :                                 {
   46455             :                     SelectStmt *n = makeNode(SelectStmt);
   46456             : 
   46457             :                     n->targetList = (yyvsp[-6].list);
   46458             :                     n->intoClause = (yyvsp[-5].into);
   46459             :                     n->fromClause = (yyvsp[-4].list);
   46460             :                     n->whereClause = (yyvsp[-3].node);
   46461             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46462             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46463             :                     n->havingClause = (yyvsp[-1].node);
   46464             :                     n->windowClause = (yyvsp[0].list);
   46465             :                     n->stmt_location = (yylsp[-8]);
   46466             :                     (yyval.node) = (Node *) n;
   46467             :                 }
   46468             : #line 46469 "gram.c"
   46469      433930 :     break;
   46470             : 
   46471        3696 :   case 1720: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause  */
   46472             : #line 12969 "gram.y"
   46473             :                                 {
   46474             :                     SelectStmt *n = makeNode(SelectStmt);
   46475             : 
   46476             :                     n->distinctClause = (yyvsp[-7].list);
   46477             :                     n->targetList = (yyvsp[-6].list);
   46478             :                     n->intoClause = (yyvsp[-5].into);
   46479             :                     n->fromClause = (yyvsp[-4].list);
   46480             :                     n->whereClause = (yyvsp[-3].node);
   46481             :                     n->groupClause = ((yyvsp[-2].groupclause))->list;
   46482             :                     n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
   46483             :                     n->havingClause = (yyvsp[-1].node);
   46484             :                     n->windowClause = (yyvsp[0].list);
   46485             :                     n->stmt_location = (yylsp[-8]);
   46486             :                     (yyval.node) = (Node *) n;
   46487             :                 }
   46488             : #line 46489 "gram.c"
   46489        3696 :     break;
   46490             : 
   46491       58728 :   case 1721: /* simple_select: values_clause  */
   46492             : #line 12984 "gram.y"
   46493             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   46494             : #line 46495 "gram.c"
   46495       58728 :     break;
   46496             : 
   46497         308 :   case 1722: /* simple_select: TABLE relation_expr  */
   46498             : #line 12986 "gram.y"
   46499             :                                 {
   46500             :                     /* same as SELECT * FROM relation_expr */
   46501             :                     ColumnRef  *cr = makeNode(ColumnRef);
   46502             :                     ResTarget  *rt = makeNode(ResTarget);
   46503             :                     SelectStmt *n = makeNode(SelectStmt);
   46504             : 
   46505             :                     cr->fields = list_make1(makeNode(A_Star));
   46506             :                     cr->location = -1;
   46507             : 
   46508             :                     rt->name = NULL;
   46509             :                     rt->indirection = NIL;
   46510             :                     rt->val = (Node *) cr;
   46511             :                     rt->location = -1;
   46512             : 
   46513             :                     n->targetList = list_make1(rt);
   46514             :                     n->fromClause = list_make1((yyvsp[0].range));
   46515             :                     n->stmt_location = (yylsp[-1]);
   46516             :                     (yyval.node) = (Node *) n;
   46517             :                 }
   46518             : #line 46519 "gram.c"
   46519         308 :     break;
   46520             : 
   46521       18588 :   case 1723: /* simple_select: select_clause UNION set_quantifier select_clause  */
   46522             : #line 13006 "gram.y"
   46523             :                                 {
   46524             :                     (yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46525             :                 }
   46526             : #line 46527 "gram.c"
   46527       18588 :     break;
   46528             : 
   46529         258 :   case 1724: /* simple_select: select_clause INTERSECT set_quantifier select_clause  */
   46530             : #line 13010 "gram.y"
   46531             :                                 {
   46532             :                     (yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46533             :                 }
   46534             : #line 46535 "gram.c"
   46535         258 :     break;
   46536             : 
   46537         476 :   case 1725: /* simple_select: select_clause EXCEPT set_quantifier select_clause  */
   46538             : #line 13014 "gram.y"
   46539             :                                 {
   46540             :                     (yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-3]));
   46541             :                 }
   46542             : #line 46543 "gram.c"
   46543         476 :     break;
   46544             : 
   46545        2006 :   case 1726: /* with_clause: WITH cte_list  */
   46546             : #line 13029 "gram.y"
   46547             :                         {
   46548             :                 (yyval.with) = makeNode(WithClause);
   46549             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46550             :                 (yyval.with)->recursive = false;
   46551             :                 (yyval.with)->location = (yylsp[-1]);
   46552             :             }
   46553             : #line 46554 "gram.c"
   46554        2006 :     break;
   46555             : 
   46556           6 :   case 1727: /* with_clause: WITH_LA cte_list  */
   46557             : #line 13036 "gram.y"
   46558             :                         {
   46559             :                 (yyval.with) = makeNode(WithClause);
   46560             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46561             :                 (yyval.with)->recursive = false;
   46562             :                 (yyval.with)->location = (yylsp[-1]);
   46563             :             }
   46564             : #line 46565 "gram.c"
   46565           6 :     break;
   46566             : 
   46567        1330 :   case 1728: /* with_clause: WITH RECURSIVE cte_list  */
   46568             : #line 13043 "gram.y"
   46569             :                         {
   46570             :                 (yyval.with) = makeNode(WithClause);
   46571             :                 (yyval.with)->ctes = (yyvsp[0].list);
   46572             :                 (yyval.with)->recursive = true;
   46573             :                 (yyval.with)->location = (yylsp[-2]);
   46574             :             }
   46575             : #line 46576 "gram.c"
   46576        1330 :     break;
   46577             : 
   46578        3342 :   case 1729: /* cte_list: common_table_expr  */
   46579             : #line 13052 "gram.y"
   46580             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   46581             : #line 46582 "gram.c"
   46582        3342 :     break;
   46583             : 
   46584        1202 :   case 1730: /* cte_list: cte_list ',' common_table_expr  */
   46585             : #line 13053 "gram.y"
   46586             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   46587             : #line 46588 "gram.c"
   46588        1202 :     break;
   46589             : 
   46590        4544 :   case 1731: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause  */
   46591             : #line 13057 "gram.y"
   46592             :                         {
   46593             :                 CommonTableExpr *n = makeNode(CommonTableExpr);
   46594             : 
   46595             :                 n->ctename = (yyvsp[-8].str);
   46596             :                 n->aliascolnames = (yyvsp[-7].list);
   46597             :                 n->ctematerialized = (yyvsp[-5].ival);
   46598             :                 n->ctequery = (yyvsp[-3].node);
   46599             :                 n->search_clause = castNode(CTESearchClause, (yyvsp[-1].node));
   46600             :                 n->cycle_clause = castNode(CTECycleClause, (yyvsp[0].node));
   46601             :                 n->location = (yylsp[-8]);
   46602             :                 (yyval.node) = (Node *) n;
   46603             :             }
   46604             : #line 46605 "gram.c"
   46605        4544 :     break;
   46606             : 
   46607         178 :   case 1732: /* opt_materialized: MATERIALIZED  */
   46608             : #line 13072 "gram.y"
   46609             :                                                                                 { (yyval.ival) = CTEMaterializeAlways; }
   46610             : #line 46611 "gram.c"
   46611         178 :     break;
   46612             : 
   46613          48 :   case 1733: /* opt_materialized: NOT MATERIALIZED  */
   46614             : #line 13073 "gram.y"
   46615             :                                                                                 { (yyval.ival) = CTEMaterializeNever; }
   46616             : #line 46617 "gram.c"
   46617          48 :     break;
   46618             : 
   46619        4318 :   case 1734: /* opt_materialized: %empty  */
   46620             : #line 13074 "gram.y"
   46621             :                                                                                         { (yyval.ival) = CTEMaterializeDefault; }
   46622             : #line 46623 "gram.c"
   46623        4318 :     break;
   46624             : 
   46625          90 :   case 1735: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId  */
   46626             : #line 13079 "gram.y"
   46627             :                         {
   46628             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46629             : 
   46630             :                 n->search_col_list = (yyvsp[-2].list);
   46631             :                 n->search_breadth_first = false;
   46632             :                 n->search_seq_column = (yyvsp[0].str);
   46633             :                 n->location = (yylsp[-6]);
   46634             :                 (yyval.node) = (Node *) n;
   46635             :             }
   46636             : #line 46637 "gram.c"
   46637          90 :     break;
   46638             : 
   46639          36 :   case 1736: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId  */
   46640             : #line 13089 "gram.y"
   46641             :                         {
   46642             :                 CTESearchClause *n = makeNode(CTESearchClause);
   46643             : 
   46644             :                 n->search_col_list = (yyvsp[-2].list);
   46645             :                 n->search_breadth_first = true;
   46646             :                 n->search_seq_column = (yyvsp[0].str);
   46647             :                 n->location = (yylsp[-6]);
   46648             :                 (yyval.node) = (Node *) n;
   46649             :             }
   46650             : #line 46651 "gram.c"
   46651          36 :     break;
   46652             : 
   46653        4418 :   case 1737: /* opt_search_clause: %empty  */
   46654             : #line 13099 "gram.y"
   46655             :                         {
   46656             :                 (yyval.node) = NULL;
   46657             :             }
   46658             : #line 46659 "gram.c"
   46659        4418 :     break;
   46660             : 
   46661          66 :   case 1738: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId  */
   46662             : #line 13106 "gram.y"
   46663             :                         {
   46664             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46665             : 
   46666             :                 n->cycle_col_list = (yyvsp[-8].list);
   46667             :                 n->cycle_mark_column = (yyvsp[-6].str);
   46668             :                 n->cycle_mark_value = (yyvsp[-4].node);
   46669             :                 n->cycle_mark_default = (yyvsp[-2].node);
   46670             :                 n->cycle_path_column = (yyvsp[0].str);
   46671             :                 n->location = (yylsp[-9]);
   46672             :                 (yyval.node) = (Node *) n;
   46673             :             }
   46674             : #line 46675 "gram.c"
   46675          66 :     break;
   46676             : 
   46677          60 :   case 1739: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId  */
   46678             : #line 13118 "gram.y"
   46679             :                         {
   46680             :                 CTECycleClause *n = makeNode(CTECycleClause);
   46681             : 
   46682             :                 n->cycle_col_list = (yyvsp[-4].list);
   46683             :                 n->cycle_mark_column = (yyvsp[-2].str);
   46684             :                 n->cycle_mark_value = makeBoolAConst(true, -1);
   46685             :                 n->cycle_mark_default = makeBoolAConst(false, -1);
   46686             :                 n->cycle_path_column = (yyvsp[0].str);
   46687             :                 n->location = (yylsp[-5]);
   46688             :                 (yyval.node) = (Node *) n;
   46689             :             }
   46690             : #line 46691 "gram.c"
   46691          60 :     break;
   46692             : 
   46693        4418 :   case 1740: /* opt_cycle_clause: %empty  */
   46694             : #line 13130 "gram.y"
   46695             :                         {
   46696             :                 (yyval.node) = NULL;
   46697             :             }
   46698             : #line 46699 "gram.c"
   46699        4418 :     break;
   46700             : 
   46701         450 :   case 1741: /* opt_with_clause: with_clause  */
   46702             : #line 13136 "gram.y"
   46703             :                                                                                         { (yyval.with) = (yyvsp[0].with); }
   46704             : #line 46705 "gram.c"
   46705         450 :     break;
   46706             : 
   46707       88584 :   case 1742: /* opt_with_clause: %empty  */
   46708             : #line 13137 "gram.y"
   46709             :                                                                                         { (yyval.with) = NULL; }
   46710             : #line 46711 "gram.c"
   46711       88584 :     break;
   46712             : 
   46713         132 :   case 1743: /* into_clause: INTO OptTempTableName  */
   46714             : #line 13142 "gram.y"
   46715             :                                 {
   46716             :                     (yyval.into) = makeNode(IntoClause);
   46717             :                     (yyval.into)->rel = (yyvsp[0].range);
   46718             :                     (yyval.into)->colNames = NIL;
   46719             :                     (yyval.into)->options = NIL;
   46720             :                     (yyval.into)->onCommit = ONCOMMIT_NOOP;
   46721             :                     (yyval.into)->tableSpaceName = NULL;
   46722             :                     (yyval.into)->viewQuery = NULL;
   46723             :                     (yyval.into)->skipData = false;
   46724             :                 }
   46725             : #line 46726 "gram.c"
   46726         132 :     break;
   46727             : 
   46728      437524 :   case 1744: /* into_clause: %empty  */
   46729             : #line 13153 "gram.y"
   46730             :                                 { (yyval.into) = NULL; }
   46731             : #line 46732 "gram.c"
   46732      437524 :     break;
   46733             : 
   46734           0 :   case 1745: /* OptTempTableName: TEMPORARY opt_table qualified_name  */
   46735             : #line 13162 "gram.y"
   46736             :                                 {
   46737             :                     (yyval.range) = (yyvsp[0].range);
   46738             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46739             :                 }
   46740             : #line 46741 "gram.c"
   46741           0 :     break;
   46742             : 
   46743           6 :   case 1746: /* OptTempTableName: TEMP opt_table qualified_name  */
   46744             : #line 13167 "gram.y"
   46745             :                                 {
   46746             :                     (yyval.range) = (yyvsp[0].range);
   46747             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46748             :                 }
   46749             : #line 46750 "gram.c"
   46750           6 :     break;
   46751             : 
   46752           0 :   case 1747: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name  */
   46753             : #line 13172 "gram.y"
   46754             :                                 {
   46755             :                     (yyval.range) = (yyvsp[0].range);
   46756             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46757             :                 }
   46758             : #line 46759 "gram.c"
   46759           0 :     break;
   46760             : 
   46761           0 :   case 1748: /* OptTempTableName: LOCAL TEMP opt_table qualified_name  */
   46762             : #line 13177 "gram.y"
   46763             :                                 {
   46764             :                     (yyval.range) = (yyvsp[0].range);
   46765             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46766             :                 }
   46767             : #line 46768 "gram.c"
   46768           0 :     break;
   46769             : 
   46770           0 :   case 1749: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name  */
   46771             : #line 13182 "gram.y"
   46772             :                                 {
   46773             :                     ereport(WARNING,
   46774             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   46775             :                              parser_errposition((yylsp[-3]))));
   46776             :                     (yyval.range) = (yyvsp[0].range);
   46777             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46778             :                 }
   46779             : #line 46780 "gram.c"
   46780           0 :     break;
   46781             : 
   46782           0 :   case 1750: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name  */
   46783             : #line 13190 "gram.y"
   46784             :                                 {
   46785             :                     ereport(WARNING,
   46786             :                             (errmsg("GLOBAL is deprecated in temporary table creation"),
   46787             :                              parser_errposition((yylsp[-3]))));
   46788             :                     (yyval.range) = (yyvsp[0].range);
   46789             :                     (yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
   46790             :                 }
   46791             : #line 46792 "gram.c"
   46792           0 :     break;
   46793             : 
   46794           0 :   case 1751: /* OptTempTableName: UNLOGGED opt_table qualified_name  */
   46795             : #line 13198 "gram.y"
   46796             :                                 {
   46797             :                     (yyval.range) = (yyvsp[0].range);
   46798             :                     (yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
   46799             :                 }
   46800             : #line 46801 "gram.c"
   46801           0 :     break;
   46802             : 
   46803          30 :   case 1752: /* OptTempTableName: TABLE qualified_name  */
   46804             : #line 13203 "gram.y"
   46805             :                                 {
   46806             :                     (yyval.range) = (yyvsp[0].range);
   46807             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   46808             :                 }
   46809             : #line 46810 "gram.c"
   46810          30 :     break;
   46811             : 
   46812          96 :   case 1753: /* OptTempTableName: qualified_name  */
   46813             : #line 13208 "gram.y"
   46814             :                                 {
   46815             :                     (yyval.range) = (yyvsp[0].range);
   46816             :                     (yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
   46817             :                 }
   46818             : #line 46819 "gram.c"
   46819          96 :     break;
   46820             : 
   46821       10676 :   case 1756: /* set_quantifier: ALL  */
   46822             : #line 13219 "gram.y"
   46823             :                                                                                                         { (yyval.setquantifier) = SET_QUANTIFIER_ALL; }
   46824             : #line 46825 "gram.c"
   46825       10676 :     break;
   46826             : 
   46827          32 :   case 1757: /* set_quantifier: DISTINCT  */
   46828             : #line 13220 "gram.y"
   46829             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; }
   46830             : #line 46831 "gram.c"
   46831          32 :     break;
   46832             : 
   46833       13256 :   case 1758: /* set_quantifier: %empty  */
   46834             : #line 13221 "gram.y"
   46835             :                                                                                                 { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; }
   46836             : #line 46837 "gram.c"
   46837       13256 :     break;
   46838             : 
   46839        3456 :   case 1759: /* distinct_clause: DISTINCT  */
   46840             : #line 13228 "gram.y"
   46841             :                                                                                                 { (yyval.list) = list_make1(NIL); }
   46842             : #line 46843 "gram.c"
   46843        3456 :     break;
   46844             : 
   46845         246 :   case 1760: /* distinct_clause: DISTINCT ON '(' expr_list ')'  */
   46846             : #line 13229 "gram.y"
   46847             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   46848             : #line 46849 "gram.c"
   46849         246 :     break;
   46850             : 
   46851           0 :   case 1763: /* opt_distinct_clause: distinct_clause  */
   46852             : #line 13238 "gram.y"
   46853             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   46854             : #line 46855 "gram.c"
   46855           0 :     break;
   46856             : 
   46857       40154 :   case 1764: /* opt_distinct_clause: opt_all_clause  */
   46858             : #line 13239 "gram.y"
   46859             :                                                                                         { (yyval.list) = NIL; }
   46860             : #line 46861 "gram.c"
   46861       40154 :     break;
   46862             : 
   46863        7688 :   case 1765: /* opt_sort_clause: sort_clause  */
   46864             : #line 13243 "gram.y"
   46865             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   46866             : #line 46867 "gram.c"
   46867        7688 :     break;
   46868             : 
   46869      367018 :   case 1766: /* opt_sort_clause: %empty  */
   46870             : #line 13244 "gram.y"
   46871             :                                                                                                 { (yyval.list) = NIL; }
   46872             : #line 46873 "gram.c"
   46873      367018 :     break;
   46874             : 
   46875       80952 :   case 1767: /* sort_clause: ORDER BY sortby_list  */
   46876             : #line 13248 "gram.y"
   46877             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   46878             : #line 46879 "gram.c"
   46879       80952 :     break;
   46880             : 
   46881       80970 :   case 1768: /* sortby_list: sortby  */
   46882             : #line 13252 "gram.y"
   46883             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].sortby)); }
   46884             : #line 46885 "gram.c"
   46885       80970 :     break;
   46886             : 
   46887       29960 :   case 1769: /* sortby_list: sortby_list ',' sortby  */
   46888             : #line 13253 "gram.y"
   46889             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
   46890             : #line 46891 "gram.c"
   46891       29960 :     break;
   46892             : 
   46893         220 :   case 1770: /* sortby: a_expr USING qual_all_Op opt_nulls_order  */
   46894             : #line 13257 "gram.y"
   46895             :                                 {
   46896             :                     (yyval.sortby) = makeNode(SortBy);
   46897             :                     (yyval.sortby)->node = (yyvsp[-3].node);
   46898             :                     (yyval.sortby)->sortby_dir = SORTBY_USING;
   46899             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   46900             :                     (yyval.sortby)->useOp = (yyvsp[-1].list);
   46901             :                     (yyval.sortby)->location = (yylsp[-1]);
   46902             :                 }
   46903             : #line 46904 "gram.c"
   46904         220 :     break;
   46905             : 
   46906      110710 :   case 1771: /* sortby: a_expr opt_asc_desc opt_nulls_order  */
   46907             : #line 13266 "gram.y"
   46908             :                                 {
   46909             :                     (yyval.sortby) = makeNode(SortBy);
   46910             :                     (yyval.sortby)->node = (yyvsp[-2].node);
   46911             :                     (yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
   46912             :                     (yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
   46913             :                     (yyval.sortby)->useOp = NIL;
   46914             :                     (yyval.sortby)->location = -1;       /* no operator */
   46915             :                 }
   46916             : #line 46917 "gram.c"
   46917      110710 :     break;
   46918             : 
   46919         172 :   case 1772: /* select_limit: limit_clause offset_clause  */
   46920             : #line 13279 "gram.y"
   46921             :                                 {
   46922             :                     (yyval.selectlimit) = (yyvsp[-1].selectlimit);
   46923             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
   46924             :                     ((yyval.selectlimit))->offsetLoc = (yylsp[0]);
   46925             :                 }
   46926             : #line 46927 "gram.c"
   46927         172 :     break;
   46928             : 
   46929         226 :   case 1773: /* select_limit: offset_clause limit_clause  */
   46930             : #line 13285 "gram.y"
   46931             :                                 {
   46932             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   46933             :                     ((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
   46934             :                     ((yyval.selectlimit))->offsetLoc = (yylsp[-1]);
   46935             :                 }
   46936             : #line 46937 "gram.c"
   46937         226 :     break;
   46938             : 
   46939        4274 :   case 1774: /* select_limit: limit_clause  */
   46940             : #line 13291 "gram.y"
   46941             :                                 {
   46942             :                     (yyval.selectlimit) = (yyvsp[0].selectlimit);
   46943             :                 }
   46944             : #line 46945 "gram.c"
   46945        4274 :     break;
   46946             : 
   46947         438 :   case 1775: /* select_limit: offset_clause  */
   46948             : #line 13295 "gram.y"
   46949             :                                 {
   46950             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   46951             : 
   46952             :                     n->limitOffset = (yyvsp[0].node);
   46953             :                     n->limitCount = NULL;
   46954             :                     n->limitOption = LIMIT_OPTION_COUNT;
   46955             :                     n->offsetLoc = (yylsp[0]);
   46956             :                     n->countLoc = -1;
   46957             :                     n->optionLoc = -1;
   46958             :                     (yyval.selectlimit) = n;
   46959             :                 }
   46960             : #line 46961 "gram.c"
   46961         438 :     break;
   46962             : 
   46963         190 :   case 1776: /* opt_select_limit: select_limit  */
   46964             : #line 13309 "gram.y"
   46965             :                                                                                 { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
   46966             : #line 46967 "gram.c"
   46967         190 :     break;
   46968             : 
   46969       44778 :   case 1777: /* opt_select_limit: %empty  */
   46970             : #line 13310 "gram.y"
   46971             :                                                                                 { (yyval.selectlimit) = NULL; }
   46972             : #line 46973 "gram.c"
   46973       44778 :     break;
   46974             : 
   46975        4570 :   case 1778: /* limit_clause: LIMIT select_limit_value  */
   46976             : #line 13315 "gram.y"
   46977             :                                 {
   46978             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   46979             : 
   46980             :                     n->limitOffset = NULL;
   46981             :                     n->limitCount = (yyvsp[0].node);
   46982             :                     n->limitOption = LIMIT_OPTION_COUNT;
   46983             :                     n->offsetLoc = -1;
   46984             :                     n->countLoc = (yylsp[-1]);
   46985             :                     n->optionLoc = -1;
   46986             :                     (yyval.selectlimit) = n;
   46987             :                 }
   46988             : #line 46989 "gram.c"
   46989        4570 :     break;
   46990             : 
   46991           0 :   case 1779: /* limit_clause: LIMIT select_limit_value ',' select_offset_value  */
   46992             : #line 13327 "gram.y"
   46993             :                                 {
   46994             :                     /* Disabled because it was too confusing, bjm 2002-02-18 */
   46995             :                     ereport(ERROR,
   46996             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   46997             :                              errmsg("LIMIT #,# syntax is not supported"),
   46998             :                              errhint("Use separate LIMIT and OFFSET clauses."),
   46999             :                              parser_errposition((yylsp[-3]))));
   47000             :                 }
   47001             : #line 47002 "gram.c"
   47002             :     break;
   47003             : 
   47004          24 :   case 1780: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY  */
   47005             : #line 13343 "gram.y"
   47006             :                                 {
   47007             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47008             : 
   47009             :                     n->limitOffset = NULL;
   47010             :                     n->limitCount = (yyvsp[-2].node);
   47011             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47012             :                     n->offsetLoc = -1;
   47013             :                     n->countLoc = (yylsp[-4]);
   47014             :                     n->optionLoc = -1;
   47015             :                     (yyval.selectlimit) = n;
   47016             :                 }
   47017             : #line 47018 "gram.c"
   47018          24 :     break;
   47019             : 
   47020          72 :   case 1781: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES  */
   47021             : #line 13355 "gram.y"
   47022             :                                 {
   47023             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47024             : 
   47025             :                     n->limitOffset = NULL;
   47026             :                     n->limitCount = (yyvsp[-3].node);
   47027             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47028             :                     n->offsetLoc = -1;
   47029             :                     n->countLoc = (yylsp[-5]);
   47030             :                     n->optionLoc = (yylsp[-1]);
   47031             :                     (yyval.selectlimit) = n;
   47032             :                 }
   47033             : #line 47034 "gram.c"
   47034          72 :     break;
   47035             : 
   47036           0 :   case 1782: /* limit_clause: FETCH first_or_next row_or_rows ONLY  */
   47037             : #line 13367 "gram.y"
   47038             :                                 {
   47039             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47040             : 
   47041             :                     n->limitOffset = NULL;
   47042             :                     n->limitCount = makeIntConst(1, -1);
   47043             :                     n->limitOption = LIMIT_OPTION_COUNT;
   47044             :                     n->offsetLoc = -1;
   47045             :                     n->countLoc = (yylsp[-3]);
   47046             :                     n->optionLoc = -1;
   47047             :                     (yyval.selectlimit) = n;
   47048             :                 }
   47049             : #line 47050 "gram.c"
   47050           0 :     break;
   47051             : 
   47052           6 :   case 1783: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES  */
   47053             : #line 13379 "gram.y"
   47054             :                                 {
   47055             :                     SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
   47056             : 
   47057             :                     n->limitOffset = NULL;
   47058             :                     n->limitCount = makeIntConst(1, -1);
   47059             :                     n->limitOption = LIMIT_OPTION_WITH_TIES;
   47060             :                     n->offsetLoc = -1;
   47061             :                     n->countLoc = (yylsp[-4]);
   47062             :                     n->optionLoc = (yylsp[-1]);
   47063             :                     (yyval.selectlimit) = n;
   47064             :                 }
   47065             : #line 47066 "gram.c"
   47066           6 :     break;
   47067             : 
   47068         836 :   case 1784: /* offset_clause: OFFSET select_offset_value  */
   47069             : #line 13394 "gram.y"
   47070             :                                 { (yyval.node) = (yyvsp[0].node); }
   47071             : #line 47072 "gram.c"
   47072         836 :     break;
   47073             : 
   47074           0 :   case 1785: /* offset_clause: OFFSET select_fetch_first_value row_or_rows  */
   47075             : #line 13397 "gram.y"
   47076             :                                 { (yyval.node) = (yyvsp[-1].node); }
   47077             : #line 47078 "gram.c"
   47078           0 :     break;
   47079             : 
   47080        4566 :   case 1786: /* select_limit_value: a_expr  */
   47081             : #line 13401 "gram.y"
   47082             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47083             : #line 47084 "gram.c"
   47084        4566 :     break;
   47085             : 
   47086           4 :   case 1787: /* select_limit_value: ALL  */
   47087             : #line 13403 "gram.y"
   47088             :                                 {
   47089             :                     /* LIMIT ALL is represented as a NULL constant */
   47090             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   47091             :                 }
   47092             : #line 47093 "gram.c"
   47093           4 :     break;
   47094             : 
   47095         836 :   case 1788: /* select_offset_value: a_expr  */
   47096             : #line 13410 "gram.y"
   47097             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47098             : #line 47099 "gram.c"
   47099         836 :     break;
   47100             : 
   47101          96 :   case 1789: /* select_fetch_first_value: c_expr  */
   47102             : #line 13430 "gram.y"
   47103             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47104             : #line 47105 "gram.c"
   47105          96 :     break;
   47106             : 
   47107           0 :   case 1790: /* select_fetch_first_value: '+' I_or_F_const  */
   47108             : #line 13432 "gram.y"
   47109             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   47110             : #line 47111 "gram.c"
   47111           0 :     break;
   47112             : 
   47113           0 :   case 1791: /* select_fetch_first_value: '-' I_or_F_const  */
   47114             : #line 13434 "gram.y"
   47115             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   47116             : #line 47117 "gram.c"
   47117           0 :     break;
   47118             : 
   47119           0 :   case 1792: /* I_or_F_const: Iconst  */
   47120             : #line 13438 "gram.y"
   47121             :                                                                                                 { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
   47122             : #line 47123 "gram.c"
   47123           0 :     break;
   47124             : 
   47125           0 :   case 1793: /* I_or_F_const: FCONST  */
   47126             : #line 13439 "gram.y"
   47127             :                                                                                                 { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
   47128             : #line 47129 "gram.c"
   47129           0 :     break;
   47130             : 
   47131          36 :   case 1794: /* row_or_rows: ROW  */
   47132             : #line 13443 "gram.y"
   47133             :                                                                                         { (yyval.ival) = 0; }
   47134             : #line 47135 "gram.c"
   47135          36 :     break;
   47136             : 
   47137          66 :   case 1795: /* row_or_rows: ROWS  */
   47138             : #line 13444 "gram.y"
   47139             :                                                                                                 { (yyval.ival) = 0; }
   47140             : #line 47141 "gram.c"
   47141          66 :     break;
   47142             : 
   47143         102 :   case 1796: /* first_or_next: FIRST_P  */
   47144             : #line 13447 "gram.y"
   47145             :                                                                                 { (yyval.ival) = 0; }
   47146             : #line 47147 "gram.c"
   47147         102 :     break;
   47148             : 
   47149           0 :   case 1797: /* first_or_next: NEXT  */
   47150             : #line 13448 "gram.y"
   47151             :                                                                                                 { (yyval.ival) = 0; }
   47152             : #line 47153 "gram.c"
   47153           0 :     break;
   47154             : 
   47155        4630 :   case 1798: /* group_clause: GROUP_P BY set_quantifier group_by_list  */
   47156             : #line 13474 "gram.y"
   47157             :                                 {
   47158             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47159             : 
   47160             :                     n->distinct = (yyvsp[-1].setquantifier) == SET_QUANTIFIER_DISTINCT;
   47161             :                     n->list = (yyvsp[0].list);
   47162             :                     (yyval.groupclause) = n;
   47163             :                 }
   47164             : #line 47165 "gram.c"
   47165        4630 :     break;
   47166             : 
   47167      473150 :   case 1799: /* group_clause: %empty  */
   47168             : #line 13482 "gram.y"
   47169             :                                 {
   47170             :                     GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
   47171             : 
   47172             :                     n->distinct = false;
   47173             :                     n->list = NIL;
   47174             :                     (yyval.groupclause) = n;
   47175             :                 }
   47176             : #line 47177 "gram.c"
   47177      473148 :     break;
   47178             : 
   47179        5228 :   case 1800: /* group_by_list: group_by_item  */
   47180             : #line 13492 "gram.y"
   47181             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47182             : #line 47183 "gram.c"
   47183        5228 :     break;
   47184             : 
   47185        3008 :   case 1801: /* group_by_list: group_by_list ',' group_by_item  */
   47186             : #line 13493 "gram.y"
   47187             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
   47188             : #line 47189 "gram.c"
   47189        3008 :     break;
   47190             : 
   47191        6946 :   case 1802: /* group_by_item: a_expr  */
   47192             : #line 13497 "gram.y"
   47193             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47194             : #line 47195 "gram.c"
   47195        6946 :     break;
   47196             : 
   47197         222 :   case 1803: /* group_by_item: empty_grouping_set  */
   47198             : #line 13498 "gram.y"
   47199             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47200             : #line 47201 "gram.c"
   47201         222 :     break;
   47202             : 
   47203         184 :   case 1804: /* group_by_item: cube_clause  */
   47204             : #line 13499 "gram.y"
   47205             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47206             : #line 47207 "gram.c"
   47207         184 :     break;
   47208             : 
   47209         286 :   case 1805: /* group_by_item: rollup_clause  */
   47210             : #line 13500 "gram.y"
   47211             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47212             : #line 47213 "gram.c"
   47213         286 :     break;
   47214             : 
   47215         598 :   case 1806: /* group_by_item: grouping_sets_clause  */
   47216             : #line 13501 "gram.y"
   47217             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   47218             : #line 47219 "gram.c"
   47219         598 :     break;
   47220             : 
   47221         222 :   case 1807: /* empty_grouping_set: '(' ')'  */
   47222             : #line 13506 "gram.y"
   47223             :                                 {
   47224             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
   47225             :                 }
   47226             : #line 47227 "gram.c"
   47227         222 :     break;
   47228             : 
   47229         286 :   case 1808: /* rollup_clause: ROLLUP '(' expr_list ')'  */
   47230             : #line 13519 "gram.y"
   47231             :                                 {
   47232             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
   47233             :                 }
   47234             : #line 47235 "gram.c"
   47235         286 :     break;
   47236             : 
   47237         184 :   case 1809: /* cube_clause: CUBE '(' expr_list ')'  */
   47238             : #line 13526 "gram.y"
   47239             :                                 {
   47240             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
   47241             :                 }
   47242             : #line 47243 "gram.c"
   47243         184 :     break;
   47244             : 
   47245         598 :   case 1810: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')'  */
   47246             : #line 13533 "gram.y"
   47247             :                                 {
   47248             :                     (yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
   47249             :                 }
   47250             : #line 47251 "gram.c"
   47251         598 :     break;
   47252             : 
   47253         686 :   case 1811: /* having_clause: HAVING a_expr  */
   47254             : #line 13539 "gram.y"
   47255             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47256             : #line 47257 "gram.c"
   47257         686 :     break;
   47258             : 
   47259      477094 :   case 1812: /* having_clause: %empty  */
   47260             : #line 13540 "gram.y"
   47261             :                                                                                                 { (yyval.node) = NULL; }
   47262             : #line 47263 "gram.c"
   47263      477094 :     break;
   47264             : 
   47265        5154 :   case 1813: /* for_locking_clause: for_locking_items  */
   47266             : #line 13544 "gram.y"
   47267             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47268             : #line 47269 "gram.c"
   47269        5154 :     break;
   47270             : 
   47271           0 :   case 1814: /* for_locking_clause: FOR READ ONLY  */
   47272             : #line 13545 "gram.y"
   47273             :                                                                                         { (yyval.list) = NIL; }
   47274             : #line 47275 "gram.c"
   47275           0 :     break;
   47276             : 
   47277         340 :   case 1815: /* opt_for_locking_clause: for_locking_clause  */
   47278             : #line 13549 "gram.y"
   47279             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47280             : #line 47281 "gram.c"
   47281         340 :     break;
   47282             : 
   47283       44734 :   case 1816: /* opt_for_locking_clause: %empty  */
   47284             : #line 13550 "gram.y"
   47285             :                                                                                         { (yyval.list) = NIL; }
   47286             : #line 47287 "gram.c"
   47287       44734 :     break;
   47288             : 
   47289        5154 :   case 1817: /* for_locking_items: for_locking_item  */
   47290             : #line 13554 "gram.y"
   47291             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   47292             : #line 47293 "gram.c"
   47293        5154 :     break;
   47294             : 
   47295         102 :   case 1818: /* for_locking_items: for_locking_items for_locking_item  */
   47296             : #line 13555 "gram.y"
   47297             :                                                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   47298             : #line 47299 "gram.c"
   47299         102 :     break;
   47300             : 
   47301        5256 :   case 1819: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip  */
   47302             : #line 13560 "gram.y"
   47303             :                                 {
   47304             :                     LockingClause *n = makeNode(LockingClause);
   47305             : 
   47306             :                     n->lockedRels = (yyvsp[-1].list);
   47307             :                     n->strength = (yyvsp[-2].ival);
   47308             :                     n->waitPolicy = (yyvsp[0].ival);
   47309             :                     (yyval.node) = (Node *) n;
   47310             :                 }
   47311             : #line 47312 "gram.c"
   47312        5256 :     break;
   47313             : 
   47314        1526 :   case 1820: /* for_locking_strength: FOR UPDATE  */
   47315             : #line 13571 "gram.y"
   47316             :                                                                                         { (yyval.ival) = LCS_FORUPDATE; }
   47317             : #line 47318 "gram.c"
   47318        1526 :     break;
   47319             : 
   47320          76 :   case 1821: /* for_locking_strength: FOR NO KEY UPDATE  */
   47321             : #line 13572 "gram.y"
   47322             :                                                                                 { (yyval.ival) = LCS_FORNOKEYUPDATE; }
   47323             : #line 47324 "gram.c"
   47324          76 :     break;
   47325             : 
   47326         214 :   case 1822: /* for_locking_strength: FOR SHARE  */
   47327             : #line 13573 "gram.y"
   47328             :                                                                                         { (yyval.ival) = LCS_FORSHARE; }
   47329             : #line 47330 "gram.c"
   47330         214 :     break;
   47331             : 
   47332        3440 :   case 1823: /* for_locking_strength: FOR KEY SHARE  */
   47333             : #line 13574 "gram.y"
   47334             :                                                                                 { (yyval.ival) = LCS_FORKEYSHARE; }
   47335             : #line 47336 "gram.c"
   47336        3440 :     break;
   47337             : 
   47338        3466 :   case 1824: /* locked_rels_list: OF qualified_name_list  */
   47339             : #line 13578 "gram.y"
   47340             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   47341             : #line 47342 "gram.c"
   47342        3466 :     break;
   47343             : 
   47344        1790 :   case 1825: /* locked_rels_list: %empty  */
   47345             : #line 13579 "gram.y"
   47346             :                                                                                         { (yyval.list) = NIL; }
   47347             : #line 47348 "gram.c"
   47348        1790 :     break;
   47349             : 
   47350       58728 :   case 1826: /* values_clause: VALUES '(' expr_list ')'  */
   47351             : #line 13590 "gram.y"
   47352             :                                 {
   47353             :                     SelectStmt *n = makeNode(SelectStmt);
   47354             : 
   47355             :                     n->stmt_location = (yylsp[-3]);
   47356             :                     n->valuesLists = list_make1((yyvsp[-1].list));
   47357             :                     (yyval.node) = (Node *) n;
   47358             :                 }
   47359             : #line 47360 "gram.c"
   47360       58728 :     break;
   47361             : 
   47362       25200 :   case 1827: /* values_clause: values_clause ',' '(' expr_list ')'  */
   47363             : #line 13598 "gram.y"
   47364             :                                 {
   47365             :                     SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
   47366             : 
   47367             :                     n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
   47368             :                     (yyval.node) = (Node *) n;
   47369             :                 }
   47370             : #line 47371 "gram.c"
   47371       25200 :     break;
   47372             : 
   47373      319438 :   case 1828: /* from_clause: FROM from_list  */
   47374             : #line 13616 "gram.y"
   47375             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   47376             : #line 47377 "gram.c"
   47377      319438 :     break;
   47378             : 
   47379      172336 :   case 1829: /* from_clause: %empty  */
   47380             : #line 13617 "gram.y"
   47381             :                                                                                                 { (yyval.list) = NIL; }
   47382             : #line 47383 "gram.c"
   47383      172336 :     break;
   47384             : 
   47385      320218 :   case 1830: /* from_list: table_ref  */
   47386             : #line 13621 "gram.y"
   47387             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   47388             : #line 47389 "gram.c"
   47389      320218 :     break;
   47390             : 
   47391       60956 :   case 1831: /* from_list: from_list ',' table_ref  */
   47392             : #line 13622 "gram.y"
   47393             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   47394             : #line 47395 "gram.c"
   47395       60956 :     break;
   47396             : 
   47397      403944 :   case 1832: /* table_ref: relation_expr opt_alias_clause  */
   47398             : #line 13629 "gram.y"
   47399             :                                 {
   47400             :                     (yyvsp[-1].range)->alias = (yyvsp[0].alias);
   47401             :                     (yyval.node) = (Node *) (yyvsp[-1].range);
   47402             :                 }
   47403             : #line 47404 "gram.c"
   47404      403944 :     break;
   47405             : 
   47406         264 :   case 1833: /* table_ref: relation_expr opt_alias_clause tablesample_clause  */
   47407             : #line 13634 "gram.y"
   47408             :                                 {
   47409             :                     RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
   47410             : 
   47411             :                     (yyvsp[-2].range)->alias = (yyvsp[-1].alias);
   47412             :                     /* relation_expr goes inside the RangeTableSample node */
   47413             :                     n->relation = (Node *) (yyvsp[-2].range);
   47414             :                     (yyval.node) = (Node *) n;
   47415             :                 }
   47416             : #line 47417 "gram.c"
   47417         264 :     break;
   47418             : 
   47419       47046 :   case 1834: /* table_ref: func_table func_alias_clause  */
   47420             : #line 13643 "gram.y"
   47421             :                                 {
   47422             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47423             : 
   47424             :                     n->alias = linitial((yyvsp[0].list));
   47425             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47426             :                     (yyval.node) = (Node *) n;
   47427             :                 }
   47428             : #line 47429 "gram.c"
   47429       47046 :     break;
   47430             : 
   47431        1146 :   case 1835: /* table_ref: LATERAL_P func_table func_alias_clause  */
   47432             : #line 13651 "gram.y"
   47433             :                                 {
   47434             :                     RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
   47435             : 
   47436             :                     n->lateral = true;
   47437             :                     n->alias = linitial((yyvsp[0].list));
   47438             :                     n->coldeflist = lsecond((yyvsp[0].list));
   47439             :                     (yyval.node) = (Node *) n;
   47440             :                 }
   47441             : #line 47442 "gram.c"
   47442        1146 :     break;
   47443             : 
   47444          82 :   case 1836: /* table_ref: xmltable opt_alias_clause  */
   47445             : #line 13660 "gram.y"
   47446             :                                 {
   47447             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47448             : 
   47449             :                     n->alias = (yyvsp[0].alias);
   47450             :                     (yyval.node) = (Node *) n;
   47451             :                 }
   47452             : #line 47453 "gram.c"
   47453          82 :     break;
   47454             : 
   47455         142 :   case 1837: /* table_ref: LATERAL_P xmltable opt_alias_clause  */
   47456             : #line 13667 "gram.y"
   47457             :                                 {
   47458             :                     RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
   47459             : 
   47460             :                     n->lateral = true;
   47461             :                     n->alias = (yyvsp[0].alias);
   47462             :                     (yyval.node) = (Node *) n;
   47463             :                 }
   47464             : #line 47465 "gram.c"
   47465         142 :     break;
   47466             : 
   47467       13842 :   case 1838: /* table_ref: select_with_parens opt_alias_clause  */
   47468             : #line 13675 "gram.y"
   47469             :                                 {
   47470             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47471             : 
   47472             :                     n->lateral = false;
   47473             :                     n->subquery = (yyvsp[-1].node);
   47474             :                     n->alias = (yyvsp[0].alias);
   47475             :                     (yyval.node) = (Node *) n;
   47476             :                 }
   47477             : #line 47478 "gram.c"
   47478       13842 :     break;
   47479             : 
   47480        1828 :   case 1839: /* table_ref: LATERAL_P select_with_parens opt_alias_clause  */
   47481             : #line 13684 "gram.y"
   47482             :                                 {
   47483             :                     RangeSubselect *n = makeNode(RangeSubselect);
   47484             : 
   47485             :                     n->lateral = true;
   47486             :                     n->subquery = (yyvsp[-1].node);
   47487             :                     n->alias = (yyvsp[0].alias);
   47488             :                     (yyval.node) = (Node *) n;
   47489             :                 }
   47490             : #line 47491 "gram.c"
   47491        1828 :     break;
   47492             : 
   47493       85346 :   case 1840: /* table_ref: joined_table  */
   47494             : #line 13693 "gram.y"
   47495             :                                 {
   47496             :                     (yyval.node) = (Node *) (yyvsp[0].jexpr);
   47497             :                 }
   47498             : #line 47499 "gram.c"
   47499       85346 :     break;
   47500             : 
   47501         174 :   case 1841: /* table_ref: '(' joined_table ')' alias_clause  */
   47502             : #line 13697 "gram.y"
   47503             :                                 {
   47504             :                     (yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
   47505             :                     (yyval.node) = (Node *) (yyvsp[-2].jexpr);
   47506             :                 }
   47507             : #line 47508 "gram.c"
   47508         174 :     break;
   47509             : 
   47510         524 :   case 1842: /* table_ref: json_table opt_alias_clause  */
   47511             : #line 13702 "gram.y"
   47512             :                                 {
   47513             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47514             : 
   47515             :                     jt->alias = (yyvsp[0].alias);
   47516             :                     (yyval.node) = (Node *) jt;
   47517             :                 }
   47518             : #line 47519 "gram.c"
   47519         524 :     break;
   47520             : 
   47521           0 :   case 1843: /* table_ref: LATERAL_P json_table opt_alias_clause  */
   47522             : #line 13709 "gram.y"
   47523             :                                 {
   47524             :                     JsonTable  *jt = castNode(JsonTable, (yyvsp[-1].node));
   47525             : 
   47526             :                     jt->alias = (yyvsp[0].alias);
   47527             :                     jt->lateral = true;
   47528             :                     (yyval.node) = (Node *) jt;
   47529             :                 }
   47530             : #line 47531 "gram.c"
   47531           0 :     break;
   47532             : 
   47533        3926 :   case 1844: /* joined_table: '(' joined_table ')'  */
   47534             : #line 13738 "gram.y"
   47535             :                                 {
   47536             :                     (yyval.jexpr) = (yyvsp[-1].jexpr);
   47537             :                 }
   47538             : #line 47539 "gram.c"
   47539        3926 :     break;
   47540             : 
   47541         504 :   case 1845: /* joined_table: table_ref CROSS JOIN table_ref  */
   47542             : #line 13742 "gram.y"
   47543             :                                 {
   47544             :                     /* CROSS JOIN is same as unqualified inner join */
   47545             :                     JoinExpr   *n = makeNode(JoinExpr);
   47546             : 
   47547             :                     n->jointype = JOIN_INNER;
   47548             :                     n->isNatural = false;
   47549             :                     n->larg = (yyvsp[-3].node);
   47550             :                     n->rarg = (yyvsp[0].node);
   47551             :                     n->usingClause = NIL;
   47552             :                     n->join_using_alias = NULL;
   47553             :                     n->quals = NULL;
   47554             :                     (yyval.jexpr) = n;
   47555             :                 }
   47556             : #line 47557 "gram.c"
   47557         504 :     break;
   47558             : 
   47559       47866 :   case 1846: /* joined_table: table_ref join_type JOIN table_ref join_qual  */
   47560             : #line 13756 "gram.y"
   47561             :                                 {
   47562             :                     JoinExpr   *n = makeNode(JoinExpr);
   47563             : 
   47564             :                     n->jointype = (yyvsp[-3].jtype);
   47565             :                     n->isNatural = false;
   47566             :                     n->larg = (yyvsp[-4].node);
   47567             :                     n->rarg = (yyvsp[-1].node);
   47568             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47569             :                     {
   47570             :                          /* USING clause */
   47571             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47572             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47573             :                     }
   47574             :                     else
   47575             :                     {
   47576             :                         /* ON clause */
   47577             :                         n->quals = (yyvsp[0].node);
   47578             :                     }
   47579             :                     (yyval.jexpr) = n;
   47580             :                 }
   47581             : #line 47582 "gram.c"
   47582       47866 :     break;
   47583             : 
   47584       36892 :   case 1847: /* joined_table: table_ref JOIN table_ref join_qual  */
   47585             : #line 13777 "gram.y"
   47586             :                                 {
   47587             :                     /* letting join_type reduce to empty doesn't work */
   47588             :                     JoinExpr   *n = makeNode(JoinExpr);
   47589             : 
   47590             :                     n->jointype = JOIN_INNER;
   47591             :                     n->isNatural = false;
   47592             :                     n->larg = (yyvsp[-3].node);
   47593             :                     n->rarg = (yyvsp[-1].node);
   47594             :                     if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
   47595             :                     {
   47596             :                         /* USING clause */
   47597             :                         n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
   47598             :                         n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
   47599             :                     }
   47600             :                     else
   47601             :                     {
   47602             :                         /* ON clause */
   47603             :                         n->quals = (yyvsp[0].node);
   47604             :                     }
   47605             :                     (yyval.jexpr) = n;
   47606             :                 }
   47607             : #line 47608 "gram.c"
   47608       36892 :     break;
   47609             : 
   47610          78 :   case 1848: /* joined_table: table_ref NATURAL join_type JOIN table_ref  */
   47611             : #line 13799 "gram.y"
   47612             :                                 {
   47613             :                     JoinExpr   *n = makeNode(JoinExpr);
   47614             : 
   47615             :                     n->jointype = (yyvsp[-2].jtype);
   47616             :                     n->isNatural = true;
   47617             :                     n->larg = (yyvsp[-4].node);
   47618             :                     n->rarg = (yyvsp[0].node);
   47619             :                     n->usingClause = NIL; /* figure out which columns later... */
   47620             :                     n->join_using_alias = NULL;
   47621             :                     n->quals = NULL; /* fill later */
   47622             :                     (yyval.jexpr) = n;
   47623             :                 }
   47624             : #line 47625 "gram.c"
   47625          78 :     break;
   47626             : 
   47627         180 :   case 1849: /* joined_table: table_ref NATURAL JOIN table_ref  */
   47628             : #line 13812 "gram.y"
   47629             :                                 {
   47630             :                     /* letting join_type reduce to empty doesn't work */
   47631             :                     JoinExpr   *n = makeNode(JoinExpr);
   47632             : 
   47633             :                     n->jointype = JOIN_INNER;
   47634             :                     n->isNatural = true;
   47635             :                     n->larg = (yyvsp[-3].node);
   47636             :                     n->rarg = (yyvsp[0].node);
   47637             :                     n->usingClause = NIL; /* figure out which columns later... */
   47638             :                     n->join_using_alias = NULL;
   47639             :                     n->quals = NULL; /* fill later */
   47640             :                     (yyval.jexpr) = n;
   47641             :                 }
   47642             : #line 47643 "gram.c"
   47643         180 :     break;
   47644             : 
   47645        7232 :   case 1850: /* alias_clause: AS ColId '(' name_list ')'  */
   47646             : #line 13829 "gram.y"
   47647             :                                 {
   47648             :                     (yyval.alias) = makeNode(Alias);
   47649             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47650             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47651             :                 }
   47652             : #line 47653 "gram.c"
   47653        7232 :     break;
   47654             : 
   47655       10804 :   case 1851: /* alias_clause: AS ColId  */
   47656             : #line 13835 "gram.y"
   47657             :                                 {
   47658             :                     (yyval.alias) = makeNode(Alias);
   47659             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47660             :                 }
   47661             : #line 47662 "gram.c"
   47662       10804 :     break;
   47663             : 
   47664        5782 :   case 1852: /* alias_clause: ColId '(' name_list ')'  */
   47665             : #line 13840 "gram.y"
   47666             :                                 {
   47667             :                     (yyval.alias) = makeNode(Alias);
   47668             :                     (yyval.alias)->aliasname = (yyvsp[-3].str);
   47669             :                     (yyval.alias)->colnames = (yyvsp[-1].list);
   47670             :                 }
   47671             : #line 47672 "gram.c"
   47672        5782 :     break;
   47673             : 
   47674      265708 :   case 1853: /* alias_clause: ColId  */
   47675             : #line 13846 "gram.y"
   47676             :                                 {
   47677             :                     (yyval.alias) = makeNode(Alias);
   47678             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47679             :                 }
   47680             : #line 47681 "gram.c"
   47681      265708 :     break;
   47682             : 
   47683      260380 :   case 1854: /* opt_alias_clause: alias_clause  */
   47684             : #line 13852 "gram.y"
   47685             :                                                                         { (yyval.alias) = (yyvsp[0].alias); }
   47686             : #line 47687 "gram.c"
   47687      260380 :     break;
   47688             : 
   47689      160246 :   case 1855: /* opt_alias_clause: %empty  */
   47690             : #line 13853 "gram.y"
   47691             :                                                                                                 { (yyval.alias) = NULL; }
   47692             : #line 47693 "gram.c"
   47693      160246 :     break;
   47694             : 
   47695          84 :   case 1856: /* opt_alias_clause_for_join_using: AS ColId  */
   47696             : #line 13864 "gram.y"
   47697             :                                 {
   47698             :                     (yyval.alias) = makeNode(Alias);
   47699             :                     (yyval.alias)->aliasname = (yyvsp[0].str);
   47700             :                     /* the column name list will be inserted later */
   47701             :                 }
   47702             : #line 47703 "gram.c"
   47703          84 :     break;
   47704             : 
   47705        1166 :   case 1857: /* opt_alias_clause_for_join_using: %empty  */
   47706             : #line 13869 "gram.y"
   47707             :                                                                                                 { (yyval.alias) = NULL; }
   47708             : #line 47709 "gram.c"
   47709        1166 :     break;
   47710             : 
   47711       28972 :   case 1858: /* func_alias_clause: alias_clause  */
   47712             : #line 13878 "gram.y"
   47713             :                                 {
   47714             :                     (yyval.list) = list_make2((yyvsp[0].alias), NIL);
   47715             :                 }
   47716             : #line 47717 "gram.c"
   47717       28972 :     break;
   47718             : 
   47719         114 :   case 1859: /* func_alias_clause: AS '(' TableFuncElementList ')'  */
   47720             : #line 13882 "gram.y"
   47721             :                                 {
   47722             :                     (yyval.list) = list_make2(NULL, (yyvsp[-1].list));
   47723             :                 }
   47724             : #line 47725 "gram.c"
   47725         114 :     break;
   47726             : 
   47727         594 :   case 1860: /* func_alias_clause: AS ColId '(' TableFuncElementList ')'  */
   47728             : #line 13886 "gram.y"
   47729             :                                 {
   47730             :                     Alias      *a = makeNode(Alias);
   47731             : 
   47732             :                     a->aliasname = (yyvsp[-3].str);
   47733             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47734             :                 }
   47735             : #line 47736 "gram.c"
   47736         594 :     break;
   47737             : 
   47738          50 :   case 1861: /* func_alias_clause: ColId '(' TableFuncElementList ')'  */
   47739             : #line 13893 "gram.y"
   47740             :                                 {
   47741             :                     Alias      *a = makeNode(Alias);
   47742             : 
   47743             :                     a->aliasname = (yyvsp[-3].str);
   47744             :                     (yyval.list) = list_make2(a, (yyvsp[-1].list));
   47745             :                 }
   47746             : #line 47747 "gram.c"
   47747          50 :     break;
   47748             : 
   47749       18462 :   case 1862: /* func_alias_clause: %empty  */
   47750             : #line 13900 "gram.y"
   47751             :                                 {
   47752             :                     (yyval.list) = list_make2(NULL, NIL);
   47753             :                 }
   47754             : #line 47755 "gram.c"
   47755       18462 :     break;
   47756             : 
   47757        1042 :   case 1863: /* join_type: FULL opt_outer  */
   47758             : #line 13905 "gram.y"
   47759             :                                                                                 { (yyval.jtype) = JOIN_FULL; }
   47760             : #line 47761 "gram.c"
   47761        1042 :     break;
   47762             : 
   47763       42622 :   case 1864: /* join_type: LEFT opt_outer  */
   47764             : #line 13906 "gram.y"
   47765             :                                                                                         { (yyval.jtype) = JOIN_LEFT; }
   47766             : #line 47767 "gram.c"
   47767       42622 :     break;
   47768             : 
   47769         360 :   case 1865: /* join_type: RIGHT opt_outer  */
   47770             : #line 13907 "gram.y"
   47771             :                                                                                         { (yyval.jtype) = JOIN_RIGHT; }
   47772             : #line 47773 "gram.c"
   47773         360 :     break;
   47774             : 
   47775        3920 :   case 1866: /* join_type: INNER_P  */
   47776             : #line 13908 "gram.y"
   47777             :                                                                                                 { (yyval.jtype) = JOIN_INNER; }
   47778             : #line 47779 "gram.c"
   47779        3920 :     break;
   47780             : 
   47781        1250 :   case 1869: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using  */
   47782             : #line 13929 "gram.y"
   47783             :                                 {
   47784             :                     (yyval.node) = (Node *) list_make2((yyvsp[-2].list), (yyvsp[0].alias));
   47785             :                 }
   47786             : #line 47787 "gram.c"
   47787        1250 :     break;
   47788             : 
   47789       83508 :   case 1870: /* join_qual: ON a_expr  */
   47790             : #line 13933 "gram.y"
   47791             :                                 {
   47792             :                     (yyval.node) = (yyvsp[0].node);
   47793             :                 }
   47794             : #line 47795 "gram.c"
   47795       83508 :     break;
   47796             : 
   47797      491174 :   case 1871: /* relation_expr: qualified_name  */
   47798             : #line 13941 "gram.y"
   47799             :                                 {
   47800             :                     /* inheritance query, implicitly */
   47801             :                     (yyval.range) = (yyvsp[0].range);
   47802             :                     (yyval.range)->inh = true;
   47803             :                     (yyval.range)->alias = NULL;
   47804             :                 }
   47805             : #line 47806 "gram.c"
   47806      491174 :     break;
   47807             : 
   47808        9260 :   case 1872: /* relation_expr: extended_relation_expr  */
   47809             : #line 13948 "gram.y"
   47810             :                                 {
   47811             :                     (yyval.range) = (yyvsp[0].range);
   47812             :                 }
   47813             : #line 47814 "gram.c"
   47814        9260 :     break;
   47815             : 
   47816         204 :   case 1873: /* extended_relation_expr: qualified_name '*'  */
   47817             : #line 13955 "gram.y"
   47818             :                                 {
   47819             :                     /* inheritance query, explicitly */
   47820             :                     (yyval.range) = (yyvsp[-1].range);
   47821             :                     (yyval.range)->inh = true;
   47822             :                     (yyval.range)->alias = NULL;
   47823             :                 }
   47824             : #line 47825 "gram.c"
   47825         204 :     break;
   47826             : 
   47827        9062 :   case 1874: /* extended_relation_expr: ONLY qualified_name  */
   47828             : #line 13962 "gram.y"
   47829             :                                 {
   47830             :                     /* no inheritance */
   47831             :                     (yyval.range) = (yyvsp[0].range);
   47832             :                     (yyval.range)->inh = false;
   47833             :                     (yyval.range)->alias = NULL;
   47834             :                 }
   47835             : #line 47836 "gram.c"
   47836        9062 :     break;
   47837             : 
   47838           0 :   case 1875: /* extended_relation_expr: ONLY '(' qualified_name ')'  */
   47839             : #line 13969 "gram.y"
   47840             :                                 {
   47841             :                     /* no inheritance, SQL99-style syntax */
   47842             :                     (yyval.range) = (yyvsp[-1].range);
   47843             :                     (yyval.range)->inh = false;
   47844             :                     (yyval.range)->alias = NULL;
   47845             :                 }
   47846             : #line 47847 "gram.c"
   47847           0 :     break;
   47848             : 
   47849        5474 :   case 1876: /* relation_expr_list: relation_expr  */
   47850             : #line 13979 "gram.y"
   47851             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   47852             : #line 47853 "gram.c"
   47853        5474 :     break;
   47854             : 
   47855       15738 :   case 1877: /* relation_expr_list: relation_expr_list ',' relation_expr  */
   47856             : #line 13980 "gram.y"
   47857             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   47858             : #line 47859 "gram.c"
   47859       15738 :     break;
   47860             : 
   47861       18440 :   case 1878: /* relation_expr_opt_alias: relation_expr  */
   47862             : #line 13994 "gram.y"
   47863             :                                 {
   47864             :                     (yyval.range) = (yyvsp[0].range);
   47865             :                 }
   47866             : #line 47867 "gram.c"
   47867       18440 :     break;
   47868             : 
   47869        2222 :   case 1879: /* relation_expr_opt_alias: relation_expr ColId  */
   47870             : #line 13998 "gram.y"
   47871             :                                 {
   47872             :                     Alias      *alias = makeNode(Alias);
   47873             : 
   47874             :                     alias->aliasname = (yyvsp[0].str);
   47875             :                     (yyvsp[-1].range)->alias = alias;
   47876             :                     (yyval.range) = (yyvsp[-1].range);
   47877             :                 }
   47878             : #line 47879 "gram.c"
   47879        2222 :     break;
   47880             : 
   47881          90 :   case 1880: /* relation_expr_opt_alias: relation_expr AS ColId  */
   47882             : #line 14006 "gram.y"
   47883             :                                 {
   47884             :                     Alias      *alias = makeNode(Alias);
   47885             : 
   47886             :                     alias->aliasname = (yyvsp[0].str);
   47887             :                     (yyvsp[-2].range)->alias = alias;
   47888             :                     (yyval.range) = (yyvsp[-2].range);
   47889             :                 }
   47890             : #line 47891 "gram.c"
   47891          90 :     break;
   47892             : 
   47893         264 :   case 1881: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause  */
   47894             : #line 14020 "gram.y"
   47895             :                                 {
   47896             :                     RangeTableSample *n = makeNode(RangeTableSample);
   47897             : 
   47898             :                     /* n->relation will be filled in later */
   47899             :                     n->method = (yyvsp[-4].list);
   47900             :                     n->args = (yyvsp[-2].list);
   47901             :                     n->repeatable = (yyvsp[0].node);
   47902             :                     n->location = (yylsp[-4]);
   47903             :                     (yyval.node) = (Node *) n;
   47904             :                 }
   47905             : #line 47906 "gram.c"
   47906         264 :     break;
   47907             : 
   47908         110 :   case 1882: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')'  */
   47909             : #line 14033 "gram.y"
   47910             :                                                         { (yyval.node) = (Node *) (yyvsp[-1].node); }
   47911             : #line 47912 "gram.c"
   47912         110 :     break;
   47913             : 
   47914         154 :   case 1883: /* opt_repeatable_clause: %empty  */
   47915             : #line 14034 "gram.y"
   47916             :                                                                         { (yyval.node) = NULL; }
   47917             : #line 47918 "gram.c"
   47918         154 :     break;
   47919             : 
   47920       48066 :   case 1884: /* func_table: func_expr_windowless opt_ordinality  */
   47921             : #line 14050 "gram.y"
   47922             :                                 {
   47923             :                     RangeFunction *n = makeNode(RangeFunction);
   47924             : 
   47925             :                     n->lateral = false;
   47926             :                     n->ordinality = (yyvsp[0].boolean);
   47927             :                     n->is_rowsfrom = false;
   47928             :                     n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
   47929             :                     /* alias and coldeflist are set by table_ref production */
   47930             :                     (yyval.node) = (Node *) n;
   47931             :                 }
   47932             : #line 47933 "gram.c"
   47933       48066 :     break;
   47934             : 
   47935         132 :   case 1885: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality  */
   47936             : #line 14061 "gram.y"
   47937             :                                 {
   47938             :                     RangeFunction *n = makeNode(RangeFunction);
   47939             : 
   47940             :                     n->lateral = false;
   47941             :                     n->ordinality = (yyvsp[0].boolean);
   47942             :                     n->is_rowsfrom = true;
   47943             :                     n->functions = (yyvsp[-2].list);
   47944             :                     /* alias and coldeflist are set by table_ref production */
   47945             :                     (yyval.node) = (Node *) n;
   47946             :                 }
   47947             : #line 47948 "gram.c"
   47948         132 :     break;
   47949             : 
   47950         318 :   case 1886: /* rowsfrom_item: func_expr_windowless opt_col_def_list  */
   47951             : #line 14074 "gram.y"
   47952             :                                 { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
   47953             : #line 47954 "gram.c"
   47954         318 :     break;
   47955             : 
   47956         132 :   case 1887: /* rowsfrom_list: rowsfrom_item  */
   47957             : #line 14078 "gram.y"
   47958             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].list)); }
   47959             : #line 47960 "gram.c"
   47960         132 :     break;
   47961             : 
   47962         186 :   case 1888: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item  */
   47963             : #line 14079 "gram.y"
   47964             :                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
   47965             : #line 47966 "gram.c"
   47966         186 :     break;
   47967             : 
   47968          54 :   case 1889: /* opt_col_def_list: AS '(' TableFuncElementList ')'  */
   47969             : #line 14082 "gram.y"
   47970             :                                                         { (yyval.list) = (yyvsp[-1].list); }
   47971             : #line 47972 "gram.c"
   47972          54 :     break;
   47973             : 
   47974         264 :   case 1890: /* opt_col_def_list: %empty  */
   47975             : #line 14083 "gram.y"
   47976             :                                                                                                 { (yyval.list) = NIL; }
   47977             : #line 47978 "gram.c"
   47978         264 :     break;
   47979             : 
   47980         904 :   case 1891: /* opt_ordinality: WITH_LA ORDINALITY  */
   47981             : #line 14086 "gram.y"
   47982             :                                                                         { (yyval.boolean) = true; }
   47983             : #line 47984 "gram.c"
   47984         904 :     break;
   47985             : 
   47986       47294 :   case 1892: /* opt_ordinality: %empty  */
   47987             : #line 14087 "gram.y"
   47988             :                                                                                                 { (yyval.boolean) = false; }
   47989             : #line 47990 "gram.c"
   47990       47294 :     break;
   47991             : 
   47992      214590 :   case 1893: /* where_clause: WHERE a_expr  */
   47993             : #line 14092 "gram.y"
   47994             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   47995             : #line 47996 "gram.c"
   47996      214590 :     break;
   47997             : 
   47998      289894 :   case 1894: /* where_clause: %empty  */
   47999             : #line 14093 "gram.y"
   48000             :                                                                                                 { (yyval.node) = NULL; }
   48001             : #line 48002 "gram.c"
   48002      289894 :     break;
   48003             : 
   48004       13338 :   case 1895: /* where_or_current_clause: WHERE a_expr  */
   48005             : #line 14098 "gram.y"
   48006             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   48007             : #line 48008 "gram.c"
   48008       13338 :     break;
   48009             : 
   48010         266 :   case 1896: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name  */
   48011             : #line 14100 "gram.y"
   48012             :                                 {
   48013             :                     CurrentOfExpr *n = makeNode(CurrentOfExpr);
   48014             : 
   48015             :                     /* cvarno is filled in by parse analysis */
   48016             :                     n->cursor_name = (yyvsp[0].str);
   48017             :                     n->cursor_param = 0;
   48018             :                     (yyval.node) = (Node *) n;
   48019             :                 }
   48020             : #line 48021 "gram.c"
   48021         266 :     break;
   48022             : 
   48023        5012 :   case 1897: /* where_or_current_clause: %empty  */
   48024             : #line 14108 "gram.y"
   48025             :                                                                                                 { (yyval.node) = NULL; }
   48026             : #line 48027 "gram.c"
   48027        5012 :     break;
   48028             : 
   48029         748 :   case 1898: /* OptTableFuncElementList: TableFuncElementList  */
   48030             : #line 14113 "gram.y"
   48031             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   48032             : #line 48033 "gram.c"
   48033         748 :     break;
   48034             : 
   48035        3786 :   case 1899: /* OptTableFuncElementList: %empty  */
   48036             : #line 14114 "gram.y"
   48037             :                                                                                         { (yyval.list) = NIL; }
   48038             : #line 48039 "gram.c"
   48039        3786 :     break;
   48040             : 
   48041        1560 :   case 1900: /* TableFuncElementList: TableFuncElement  */
   48042             : #line 14119 "gram.y"
   48043             :                                 {
   48044             :                     (yyval.list) = list_make1((yyvsp[0].node));
   48045             :                 }
   48046             : #line 48047 "gram.c"
   48047        1560 :     break;
   48048             : 
   48049        2100 :   case 1901: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement  */
   48050             : #line 14123 "gram.y"
   48051             :                                 {
   48052             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   48053             :                 }
   48054             : #line 48055 "gram.c"
   48055        2100 :     break;
   48056             : 
   48057        3724 :   case 1902: /* TableFuncElement: ColId Typename opt_collate_clause  */
   48058             : #line 14129 "gram.y"
   48059             :                                 {
   48060             :                     ColumnDef *n = makeNode(ColumnDef);
   48061             : 
   48062             :                     n->colname = (yyvsp[-2].str);
   48063             :                     n->typeName = (yyvsp[-1].typnam);
   48064             :                     n->inhcount = 0;
   48065             :                     n->is_local = true;
   48066             :                     n->is_not_null = false;
   48067             :                     n->is_from_type = false;
   48068             :                     n->storage = 0;
   48069             :                     n->raw_default = NULL;
   48070             :                     n->cooked_default = NULL;
   48071             :                     n->collClause = (CollateClause *) (yyvsp[0].node);
   48072             :                     n->collOid = InvalidOid;
   48073             :                     n->constraints = NIL;
   48074             :                     n->location = (yylsp[-2]);
   48075             :                     (yyval.node) = (Node *) n;
   48076             :                 }
   48077             : #line 48078 "gram.c"
   48078        3724 :     break;
   48079             : 
   48080         202 :   case 1903: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48081             : #line 14154 "gram.y"
   48082             :                                 {
   48083             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48084             : 
   48085             :                     n->rowexpr = (yyvsp[-4].node);
   48086             :                     n->docexpr = (yyvsp[-3].node);
   48087             :                     n->columns = (yyvsp[-1].list);
   48088             :                     n->namespaces = NIL;
   48089             :                     n->location = (yylsp[-6]);
   48090             :                     (yyval.node) = (Node *) n;
   48091             :                 }
   48092             : #line 48093 "gram.c"
   48093         202 :     break;
   48094             : 
   48095          22 :   case 1904: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'  */
   48096             : #line 14166 "gram.y"
   48097             :                                 {
   48098             :                     RangeTableFunc *n = makeNode(RangeTableFunc);
   48099             : 
   48100             :                     n->rowexpr = (yyvsp[-4].node);
   48101             :                     n->docexpr = (yyvsp[-3].node);
   48102             :                     n->columns = (yyvsp[-1].list);
   48103             :                     n->namespaces = (yyvsp[-7].list);
   48104             :                     n->location = (yylsp[-11]);
   48105             :                     (yyval.node) = (Node *) n;
   48106             :                 }
   48107             : #line 48108 "gram.c"
   48108          22 :     break;
   48109             : 
   48110         224 :   case 1905: /* xmltable_column_list: xmltable_column_el  */
   48111             : #line 14178 "gram.y"
   48112             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48113             : #line 48114 "gram.c"
   48114         224 :     break;
   48115             : 
   48116         544 :   case 1906: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el  */
   48117             : #line 14179 "gram.y"
   48118             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48119             : #line 48120 "gram.c"
   48120         544 :     break;
   48121             : 
   48122         198 :   case 1907: /* xmltable_column_el: ColId Typename  */
   48123             : #line 14184 "gram.y"
   48124             :                                 {
   48125             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48126             : 
   48127             :                     fc->colname = (yyvsp[-1].str);
   48128             :                     fc->for_ordinality = false;
   48129             :                     fc->typeName = (yyvsp[0].typnam);
   48130             :                     fc->is_not_null = false;
   48131             :                     fc->colexpr = NULL;
   48132             :                     fc->coldefexpr = NULL;
   48133             :                     fc->location = (yylsp[-1]);
   48134             : 
   48135             :                     (yyval.node) = (Node *) fc;
   48136             :                 }
   48137             : #line 48138 "gram.c"
   48138         198 :     break;
   48139             : 
   48140         506 :   case 1908: /* xmltable_column_el: ColId Typename xmltable_column_option_list  */
   48141             : #line 14198 "gram.y"
   48142             :                                 {
   48143             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48144             :                     ListCell   *option;
   48145             :                     bool        nullability_seen = false;
   48146             : 
   48147             :                     fc->colname = (yyvsp[-2].str);
   48148             :                     fc->typeName = (yyvsp[-1].typnam);
   48149             :                     fc->for_ordinality = false;
   48150             :                     fc->is_not_null = false;
   48151             :                     fc->colexpr = NULL;
   48152             :                     fc->coldefexpr = NULL;
   48153             :                     fc->location = (yylsp[-2]);
   48154             : 
   48155             :                     foreach(option, (yyvsp[0].list))
   48156             :                     {
   48157             :                         DefElem   *defel = (DefElem *) lfirst(option);
   48158             : 
   48159             :                         if (strcmp(defel->defname, "default") == 0)
   48160             :                         {
   48161             :                             if (fc->coldefexpr != NULL)
   48162             :                                 ereport(ERROR,
   48163             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48164             :                                          errmsg("only one DEFAULT value is allowed"),
   48165             :                                          parser_errposition(defel->location)));
   48166             :                             fc->coldefexpr = defel->arg;
   48167             :                         }
   48168             :                         else if (strcmp(defel->defname, "path") == 0)
   48169             :                         {
   48170             :                             if (fc->colexpr != NULL)
   48171             :                                 ereport(ERROR,
   48172             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48173             :                                          errmsg("only one PATH value per column is allowed"),
   48174             :                                          parser_errposition(defel->location)));
   48175             :                             fc->colexpr = defel->arg;
   48176             :                         }
   48177             :                         else if (strcmp(defel->defname, "__pg__is_not_null") == 0)
   48178             :                         {
   48179             :                             if (nullability_seen)
   48180             :                                 ereport(ERROR,
   48181             :                                         (errcode(ERRCODE_SYNTAX_ERROR),
   48182             :                                          errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
   48183             :                                          parser_errposition(defel->location)));
   48184             :                             fc->is_not_null = boolVal(defel->arg);
   48185             :                             nullability_seen = true;
   48186             :                         }
   48187             :                         else
   48188             :                         {
   48189             :                             ereport(ERROR,
   48190             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   48191             :                                      errmsg("unrecognized column option \"%s\"",
   48192             :                                             defel->defname),
   48193             :                                      parser_errposition(defel->location)));
   48194             :                         }
   48195             :                     }
   48196             :                     (yyval.node) = (Node *) fc;
   48197             :                 }
   48198             : #line 48199 "gram.c"
   48199         506 :     break;
   48200             : 
   48201          64 :   case 1909: /* xmltable_column_el: ColId FOR ORDINALITY  */
   48202             : #line 14255 "gram.y"
   48203             :                                 {
   48204             :                     RangeTableFuncCol *fc = makeNode(RangeTableFuncCol);
   48205             : 
   48206             :                     fc->colname = (yyvsp[-2].str);
   48207             :                     fc->for_ordinality = true;
   48208             :                     /* other fields are ignored, initialized by makeNode */
   48209             :                     fc->location = (yylsp[-2]);
   48210             : 
   48211             :                     (yyval.node) = (Node *) fc;
   48212             :                 }
   48213             : #line 48214 "gram.c"
   48214          64 :     break;
   48215             : 
   48216         506 :   case 1910: /* xmltable_column_option_list: xmltable_column_option_el  */
   48217             : #line 14269 "gram.y"
   48218             :                                 { (yyval.list) = list_make1((yyvsp[0].defelt)); }
   48219             : #line 48220 "gram.c"
   48220         506 :     break;
   48221             : 
   48222         116 :   case 1911: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el  */
   48223             : #line 14271 "gram.y"
   48224             :                                 { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
   48225             : #line 48226 "gram.c"
   48226         116 :     break;
   48227             : 
   48228           6 :   case 1912: /* xmltable_column_option_el: IDENT b_expr  */
   48229             : #line 14276 "gram.y"
   48230             :                                 {
   48231             :                     if (strcmp((yyvsp[-1].str), "__pg__is_not_null") == 0)
   48232             :                         ereport(ERROR,
   48233             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   48234             :                                  errmsg("option name \"%s\" cannot be used in XMLTABLE", (yyvsp[-1].str)),
   48235             :                                  parser_errposition((yylsp[-1]))));
   48236             :                     (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
   48237             :                 }
   48238             : #line 48239 "gram.c"
   48239           0 :     break;
   48240             : 
   48241          58 :   case 1913: /* xmltable_column_option_el: DEFAULT b_expr  */
   48242             : #line 14285 "gram.y"
   48243             :                                 { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
   48244             : #line 48245 "gram.c"
   48245          58 :     break;
   48246             : 
   48247          58 :   case 1914: /* xmltable_column_option_el: NOT NULL_P  */
   48248             : #line 14287 "gram.y"
   48249             :                                 { (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(true), (yylsp[-1])); }
   48250             : #line 48251 "gram.c"
   48251          58 :     break;
   48252             : 
   48253           0 :   case 1915: /* xmltable_column_option_el: NULL_P  */
   48254             : #line 14289 "gram.y"
   48255             :                                 { (yyval.defelt) = makeDefElem("__pg__is_not_null", (Node *) makeBoolean(false), (yylsp[0])); }
   48256             : #line 48257 "gram.c"
   48257           0 :     break;
   48258             : 
   48259         506 :   case 1916: /* xmltable_column_option_el: PATH b_expr  */
   48260             : #line 14291 "gram.y"
   48261             :                                 { (yyval.defelt) = makeDefElem("path", (yyvsp[0].node), (yylsp[-1])); }
   48262             : #line 48263 "gram.c"
   48263         506 :     break;
   48264             : 
   48265          22 :   case 1917: /* xml_namespace_list: xml_namespace_el  */
   48266             : #line 14296 "gram.y"
   48267             :                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   48268             : #line 48269 "gram.c"
   48269          22 :     break;
   48270             : 
   48271           0 :   case 1918: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el  */
   48272             : #line 14298 "gram.y"
   48273             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   48274             : #line 48275 "gram.c"
   48275           0 :     break;
   48276             : 
   48277          16 :   case 1919: /* xml_namespace_el: b_expr AS ColLabel  */
   48278             : #line 14303 "gram.y"
   48279             :                                 {
   48280             :                     (yyval.target) = makeNode(ResTarget);
   48281             :                     (yyval.target)->name = (yyvsp[0].str);
   48282             :                     (yyval.target)->indirection = NIL;
   48283             :                     (yyval.target)->val = (yyvsp[-2].node);
   48284             :                     (yyval.target)->location = (yylsp[-2]);
   48285             :                 }
   48286             : #line 48287 "gram.c"
   48287          16 :     break;
   48288             : 
   48289           6 :   case 1920: /* xml_namespace_el: DEFAULT b_expr  */
   48290             : #line 14311 "gram.y"
   48291             :                                 {
   48292             :                     (yyval.target) = makeNode(ResTarget);
   48293             :                     (yyval.target)->name = NULL;
   48294             :                     (yyval.target)->indirection = NIL;
   48295             :                     (yyval.target)->val = (yyvsp[0].node);
   48296             :                     (yyval.target)->location = (yylsp[-1]);
   48297             :                 }
   48298             : #line 48299 "gram.c"
   48299           6 :     break;
   48300             : 
   48301         530 :   case 1921: /* json_table: JSON_TABLE '(' json_value_expr ',' a_expr json_table_path_name_opt json_passing_clause_opt COLUMNS '(' json_table_column_definition_list ')' json_on_error_clause_opt ')'  */
   48302             : #line 14327 "gram.y"
   48303             :                                 {
   48304             :                     JsonTable *n = makeNode(JsonTable);
   48305             :                     char      *pathstring;
   48306             : 
   48307             :                     n->context_item = (JsonValueExpr *) (yyvsp[-10].node);
   48308             :                     if (!IsA((yyvsp[-8].node), A_Const) ||
   48309             :                         castNode(A_Const, (yyvsp[-8].node))->val.node.type != T_String)
   48310             :                         ereport(ERROR,
   48311             :                                 errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   48312             :                                 errmsg("only string constants are supported in JSON_TABLE path specification"),
   48313             :                                 parser_errposition((yylsp[-8])));
   48314             :                     pathstring = castNode(A_Const, (yyvsp[-8].node))->val.sval.sval;
   48315             :                     n->pathspec = makeJsonTablePathSpec(pathstring, (yyvsp[-7].str), (yylsp[-8]), (yylsp[-7]));
   48316             :                     n->passing = (yyvsp[-6].list);
   48317             :                     n->columns = (yyvsp[-3].list);
   48318             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   48319             :                     n->location = (yylsp[-12]);
   48320             :                     (yyval.node) = (Node *) n;
   48321             :                 }
   48322             : #line 48323 "gram.c"
   48323         524 :     break;
   48324             : 
   48325          62 :   case 1922: /* json_table_path_name_opt: AS name  */
   48326             : #line 14349 "gram.y"
   48327             :                                                 { (yyval.str) = (yyvsp[0].str); }
   48328             : #line 48329 "gram.c"
   48329          62 :     break;
   48330             : 
   48331         480 :   case 1923: /* json_table_path_name_opt: %empty  */
   48332             : #line 14350 "gram.y"
   48333             :                                         { (yyval.str) = NULL; }
   48334             : #line 48335 "gram.c"
   48335         480 :     break;
   48336             : 
   48337         820 :   case 1924: /* json_table_column_definition_list: json_table_column_definition  */
   48338             : #line 14355 "gram.y"
   48339             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   48340             : #line 48341 "gram.c"
   48341         820 :     break;
   48342             : 
   48343         528 :   case 1925: /* json_table_column_definition_list: json_table_column_definition_list ',' json_table_column_definition  */
   48344             : #line 14357 "gram.y"
   48345             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   48346             : #line 48347 "gram.c"
   48347         528 :     break;
   48348             : 
   48349          84 :   case 1926: /* json_table_column_definition: ColId FOR ORDINALITY  */
   48350             : #line 14362 "gram.y"
   48351             :                                 {
   48352             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48353             : 
   48354             :                     n->coltype = JTC_FOR_ORDINALITY;
   48355             :                     n->name = (yyvsp[-2].str);
   48356             :                     n->location = (yylsp[-2]);
   48357             :                     (yyval.node) = (Node *) n;
   48358             :                 }
   48359             : #line 48360 "gram.c"
   48360          84 :     break;
   48361             : 
   48362         728 :   case 1927: /* json_table_column_definition: ColId Typename json_table_column_path_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt  */
   48363             : #line 14375 "gram.y"
   48364             :                                 {
   48365             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48366             : 
   48367             :                     n->coltype = JTC_REGULAR;
   48368             :                     n->name = (yyvsp[-5].str);
   48369             :                     n->typeName = (yyvsp[-4].typnam);
   48370             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48371             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48372             :                     n->wrapper = (yyvsp[-2].ival);
   48373             :                     n->quotes = (yyvsp[-1].ival);
   48374             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48375             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48376             :                     n->location = (yylsp[-5]);
   48377             :                     (yyval.node) = (Node *) n;
   48378             :                 }
   48379             : #line 48380 "gram.c"
   48380         728 :     break;
   48381             : 
   48382         108 :   case 1928: /* json_table_column_definition: ColId Typename json_format_clause json_table_column_path_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt  */
   48383             : #line 14395 "gram.y"
   48384             :                                 {
   48385             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48386             : 
   48387             :                     n->coltype = JTC_FORMATTED;
   48388             :                     n->name = (yyvsp[-6].str);
   48389             :                     n->typeName = (yyvsp[-5].typnam);
   48390             :                     n->format = (JsonFormat *) (yyvsp[-4].node);
   48391             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-3].node);
   48392             :                     n->wrapper = (yyvsp[-2].ival);
   48393             :                     n->quotes = (yyvsp[-1].ival);
   48394             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[0].list));
   48395             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[0].list));
   48396             :                     n->location = (yylsp[-6]);
   48397             :                     (yyval.node) = (Node *) n;
   48398             :                 }
   48399             : #line 48400 "gram.c"
   48400         108 :     break;
   48401             : 
   48402         138 :   case 1929: /* json_table_column_definition: ColId Typename EXISTS json_table_column_path_clause_opt json_on_error_clause_opt  */
   48403             : #line 14413 "gram.y"
   48404             :                                 {
   48405             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48406             : 
   48407             :                     n->coltype = JTC_EXISTS;
   48408             :                     n->name = (yyvsp[-4].str);
   48409             :                     n->typeName = (yyvsp[-3].typnam);
   48410             :                     n->format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   48411             :                     n->wrapper = JSW_NONE;
   48412             :                     n->quotes = JS_QUOTES_UNSPEC;
   48413             :                     n->pathspec = (JsonTablePathSpec *) (yyvsp[-1].node);
   48414             :                     n->on_empty = NULL;
   48415             :                     n->on_error = (JsonBehavior *) (yyvsp[0].node);
   48416             :                     n->location = (yylsp[-4]);
   48417             :                     (yyval.node) = (Node *) n;
   48418             :                 }
   48419             : #line 48420 "gram.c"
   48420         138 :     break;
   48421             : 
   48422         144 :   case 1930: /* json_table_column_definition: NESTED path_opt Sconst COLUMNS '(' json_table_column_definition_list ')'  */
   48423             : #line 14430 "gram.y"
   48424             :                                 {
   48425             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48426             : 
   48427             :                     n->coltype = JTC_NESTED;
   48428             :                     n->pathspec = (JsonTablePathSpec *)
   48429             :                         makeJsonTablePathSpec((yyvsp[-4].str), NULL, (yylsp[-4]), -1);
   48430             :                     n->columns = (yyvsp[-1].list);
   48431             :                     n->location = (yylsp[-6]);
   48432             :                     (yyval.node) = (Node *) n;
   48433             :                 }
   48434             : #line 48435 "gram.c"
   48435         144 :     break;
   48436             : 
   48437         146 :   case 1931: /* json_table_column_definition: NESTED path_opt Sconst AS name COLUMNS '(' json_table_column_definition_list ')'  */
   48438             : #line 14442 "gram.y"
   48439             :                                 {
   48440             :                     JsonTableColumn *n = makeNode(JsonTableColumn);
   48441             : 
   48442             :                     n->coltype = JTC_NESTED;
   48443             :                     n->pathspec = (JsonTablePathSpec *)
   48444             :                         makeJsonTablePathSpec((yyvsp[-6].str), (yyvsp[-4].str), (yylsp[-6]), (yylsp[-4]));
   48445             :                     n->columns = (yyvsp[-1].list);
   48446             :                     n->location = (yylsp[-8]);
   48447             :                     (yyval.node) = (Node *) n;
   48448             :                 }
   48449             : #line 48450 "gram.c"
   48450         146 :     break;
   48451             : 
   48452         828 :   case 1934: /* json_table_column_path_clause_opt: PATH Sconst  */
   48453             : #line 14461 "gram.y"
   48454             :                                 { (yyval.node) = (Node *) makeJsonTablePathSpec((yyvsp[0].str), NULL, (yylsp[0]), -1); }
   48455             : #line 48456 "gram.c"
   48456         828 :     break;
   48457             : 
   48458         152 :   case 1935: /* json_table_column_path_clause_opt: %empty  */
   48459             : #line 14463 "gram.y"
   48460             :                                 { (yyval.node) = NULL; }
   48461             : #line 48462 "gram.c"
   48462         152 :     break;
   48463             : 
   48464      518798 :   case 1936: /* Typename: SimpleTypename opt_array_bounds  */
   48465             : #line 14477 "gram.y"
   48466             :                                 {
   48467             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48468             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48469             :                 }
   48470             : #line 48471 "gram.c"
   48471      518798 :     break;
   48472             : 
   48473        2310 :   case 1937: /* Typename: SETOF SimpleTypename opt_array_bounds  */
   48474             : #line 14482 "gram.y"
   48475             :                                 {
   48476             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48477             :                     (yyval.typnam)->arrayBounds = (yyvsp[0].list);
   48478             :                     (yyval.typnam)->setof = true;
   48479             :                 }
   48480             : #line 48481 "gram.c"
   48481        2310 :     break;
   48482             : 
   48483           6 :   case 1938: /* Typename: SimpleTypename ARRAY '[' Iconst ']'  */
   48484             : #line 14489 "gram.y"
   48485             :                                 {
   48486             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48487             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48488             :                 }
   48489             : #line 48490 "gram.c"
   48490           6 :     break;
   48491             : 
   48492           0 :   case 1939: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']'  */
   48493             : #line 14494 "gram.y"
   48494             :                                 {
   48495             :                     (yyval.typnam) = (yyvsp[-4].typnam);
   48496             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
   48497             :                     (yyval.typnam)->setof = true;
   48498             :                 }
   48499             : #line 48500 "gram.c"
   48500           0 :     break;
   48501             : 
   48502           0 :   case 1940: /* Typename: SimpleTypename ARRAY  */
   48503             : #line 14500 "gram.y"
   48504             :                                 {
   48505             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48506             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48507             :                 }
   48508             : #line 48509 "gram.c"
   48509           0 :     break;
   48510             : 
   48511           0 :   case 1941: /* Typename: SETOF SimpleTypename ARRAY  */
   48512             : #line 14505 "gram.y"
   48513             :                                 {
   48514             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48515             :                     (yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
   48516             :                     (yyval.typnam)->setof = true;
   48517             :                 }
   48518             : #line 48519 "gram.c"
   48519           0 :     break;
   48520             : 
   48521       15292 :   case 1942: /* opt_array_bounds: opt_array_bounds '[' ']'  */
   48522             : #line 14514 "gram.y"
   48523             :                                         {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
   48524             : #line 48525 "gram.c"
   48525       15292 :     break;
   48526             : 
   48527          62 :   case 1943: /* opt_array_bounds: opt_array_bounds '[' Iconst ']'  */
   48528             : #line 14516 "gram.y"
   48529             :                                         {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
   48530             : #line 48531 "gram.c"
   48531          62 :     break;
   48532             : 
   48533      521108 :   case 1944: /* opt_array_bounds: %empty  */
   48534             : #line 14518 "gram.y"
   48535             :                                         {  (yyval.list) = NIL; }
   48536             : #line 48537 "gram.c"
   48537      521108 :     break;
   48538             : 
   48539      403934 :   case 1945: /* SimpleTypename: GenericType  */
   48540             : #line 14522 "gram.y"
   48541             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48542             : #line 48543 "gram.c"
   48543      403934 :     break;
   48544             : 
   48545      101992 :   case 1946: /* SimpleTypename: Numeric  */
   48546             : #line 14523 "gram.y"
   48547             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48548             : #line 48549 "gram.c"
   48549      101992 :     break;
   48550             : 
   48551        1922 :   case 1947: /* SimpleTypename: Bit  */
   48552             : #line 14524 "gram.y"
   48553             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48554             : #line 48555 "gram.c"
   48555        1922 :     break;
   48556             : 
   48557        3222 :   case 1948: /* SimpleTypename: Character  */
   48558             : #line 14525 "gram.y"
   48559             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48560             : #line 48561 "gram.c"
   48561        3222 :     break;
   48562             : 
   48563        4910 :   case 1949: /* SimpleTypename: ConstDatetime  */
   48564             : #line 14526 "gram.y"
   48565             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48566             : #line 48567 "gram.c"
   48567        4910 :     break;
   48568             : 
   48569        3704 :   case 1950: /* SimpleTypename: ConstInterval opt_interval  */
   48570             : #line 14528 "gram.y"
   48571             :                                 {
   48572             :                     (yyval.typnam) = (yyvsp[-1].typnam);
   48573             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48574             :                 }
   48575             : #line 48576 "gram.c"
   48576        3704 :     break;
   48577             : 
   48578           0 :   case 1951: /* SimpleTypename: ConstInterval '(' Iconst ')'  */
   48579             : #line 14533 "gram.y"
   48580             :                                 {
   48581             :                     (yyval.typnam) = (yyvsp[-3].typnam);
   48582             :                     (yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   48583             :                                              makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   48584             :                 }
   48585             : #line 48586 "gram.c"
   48586           0 :     break;
   48587             : 
   48588        1892 :   case 1952: /* SimpleTypename: JsonType  */
   48589             : #line 14538 "gram.y"
   48590             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48591             : #line 48592 "gram.c"
   48592        1892 :     break;
   48593             : 
   48594          78 :   case 1953: /* ConstTypename: Numeric  */
   48595             : #line 14553 "gram.y"
   48596             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48597             : #line 48598 "gram.c"
   48598          78 :     break;
   48599             : 
   48600           0 :   case 1954: /* ConstTypename: ConstBit  */
   48601             : #line 14554 "gram.y"
   48602             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48603             : #line 48604 "gram.c"
   48604           0 :     break;
   48605             : 
   48606          34 :   case 1955: /* ConstTypename: ConstCharacter  */
   48607             : #line 14555 "gram.y"
   48608             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48609             : #line 48610 "gram.c"
   48610          34 :     break;
   48611             : 
   48612        2750 :   case 1956: /* ConstTypename: ConstDatetime  */
   48613             : #line 14556 "gram.y"
   48614             :                                                                                         { (yyval.typnam) = (yyvsp[0].typnam); }
   48615             : #line 48616 "gram.c"
   48616        2750 :     break;
   48617             : 
   48618         264 :   case 1957: /* ConstTypename: JsonType  */
   48619             : #line 14557 "gram.y"
   48620             :                                                                                                 { (yyval.typnam) = (yyvsp[0].typnam); }
   48621             : #line 48622 "gram.c"
   48622         264 :     break;
   48623             : 
   48624      283640 :   case 1958: /* GenericType: type_function_name opt_type_modifiers  */
   48625             : #line 14569 "gram.y"
   48626             :                                 {
   48627             :                     (yyval.typnam) = makeTypeName((yyvsp[-1].str));
   48628             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48629             :                     (yyval.typnam)->location = (yylsp[-1]);
   48630             :                 }
   48631             : #line 48632 "gram.c"
   48632      283640 :     break;
   48633             : 
   48634      120294 :   case 1959: /* GenericType: type_function_name attrs opt_type_modifiers  */
   48635             : #line 14575 "gram.y"
   48636             :                                 {
   48637             :                     (yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
   48638             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48639             :                     (yyval.typnam)->location = (yylsp[-2]);
   48640             :                 }
   48641             : #line 48642 "gram.c"
   48642      120294 :     break;
   48643             : 
   48644        1396 :   case 1960: /* opt_type_modifiers: '(' expr_list ')'  */
   48645             : #line 14582 "gram.y"
   48646             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   48647             : #line 48648 "gram.c"
   48648        1396 :     break;
   48649             : 
   48650      408706 :   case 1961: /* opt_type_modifiers: %empty  */
   48651             : #line 14583 "gram.y"
   48652             :                                                                                         { (yyval.list) = NIL; }
   48653             : #line 48654 "gram.c"
   48654      408706 :     break;
   48655             : 
   48656       38086 :   case 1962: /* Numeric: INT_P  */
   48657             : #line 14590 "gram.y"
   48658             :                                 {
   48659             :                     (yyval.typnam) = SystemTypeName("int4");
   48660             :                     (yyval.typnam)->location = (yylsp[0]);
   48661             :                 }
   48662             : #line 48663 "gram.c"
   48663       38086 :     break;
   48664             : 
   48665       27440 :   case 1963: /* Numeric: INTEGER  */
   48666             : #line 14595 "gram.y"
   48667             :                                 {
   48668             :                     (yyval.typnam) = SystemTypeName("int4");
   48669             :                     (yyval.typnam)->location = (yylsp[0]);
   48670             :                 }
   48671             : #line 48672 "gram.c"
   48672       27440 :     break;
   48673             : 
   48674        1306 :   case 1964: /* Numeric: SMALLINT  */
   48675             : #line 14600 "gram.y"
   48676             :                                 {
   48677             :                     (yyval.typnam) = SystemTypeName("int2");
   48678             :                     (yyval.typnam)->location = (yylsp[0]);
   48679             :                 }
   48680             : #line 48681 "gram.c"
   48681        1306 :     break;
   48682             : 
   48683        5238 :   case 1965: /* Numeric: BIGINT  */
   48684             : #line 14605 "gram.y"
   48685             :                                 {
   48686             :                     (yyval.typnam) = SystemTypeName("int8");
   48687             :                     (yyval.typnam)->location = (yylsp[0]);
   48688             :                 }
   48689             : #line 48690 "gram.c"
   48690        5238 :     break;
   48691             : 
   48692        7472 :   case 1966: /* Numeric: REAL  */
   48693             : #line 14610 "gram.y"
   48694             :                                 {
   48695             :                     (yyval.typnam) = SystemTypeName("float4");
   48696             :                     (yyval.typnam)->location = (yylsp[0]);
   48697             :                 }
   48698             : #line 48699 "gram.c"
   48699        7472 :     break;
   48700             : 
   48701         538 :   case 1967: /* Numeric: FLOAT_P opt_float  */
   48702             : #line 14615 "gram.y"
   48703             :                                 {
   48704             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48705             :                     (yyval.typnam)->location = (yylsp[-1]);
   48706             :                 }
   48707             : #line 48708 "gram.c"
   48708         538 :     break;
   48709             : 
   48710         906 :   case 1968: /* Numeric: DOUBLE_P PRECISION  */
   48711             : #line 14620 "gram.y"
   48712             :                                 {
   48713             :                     (yyval.typnam) = SystemTypeName("float8");
   48714             :                     (yyval.typnam)->location = (yylsp[-1]);
   48715             :                 }
   48716             : #line 48717 "gram.c"
   48717         906 :     break;
   48718             : 
   48719          36 :   case 1969: /* Numeric: DECIMAL_P opt_type_modifiers  */
   48720             : #line 14625 "gram.y"
   48721             :                                 {
   48722             :                     (yyval.typnam) = SystemTypeName("numeric");
   48723             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48724             :                     (yyval.typnam)->location = (yylsp[-1]);
   48725             :                 }
   48726             : #line 48727 "gram.c"
   48727          36 :     break;
   48728             : 
   48729           0 :   case 1970: /* Numeric: DEC opt_type_modifiers  */
   48730             : #line 14631 "gram.y"
   48731             :                                 {
   48732             :                     (yyval.typnam) = SystemTypeName("numeric");
   48733             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48734             :                     (yyval.typnam)->location = (yylsp[-1]);
   48735             :                 }
   48736             : #line 48737 "gram.c"
   48737           0 :     break;
   48738             : 
   48739        6132 :   case 1971: /* Numeric: NUMERIC opt_type_modifiers  */
   48740             : #line 14637 "gram.y"
   48741             :                                 {
   48742             :                     (yyval.typnam) = SystemTypeName("numeric");
   48743             :                     (yyval.typnam)->typmods = (yyvsp[0].list);
   48744             :                     (yyval.typnam)->location = (yylsp[-1]);
   48745             :                 }
   48746             : #line 48747 "gram.c"
   48747        6132 :     break;
   48748             : 
   48749       14916 :   case 1972: /* Numeric: BOOLEAN_P  */
   48750             : #line 14643 "gram.y"
   48751             :                                 {
   48752             :                     (yyval.typnam) = SystemTypeName("bool");
   48753             :                     (yyval.typnam)->location = (yylsp[0]);
   48754             :                 }
   48755             : #line 48756 "gram.c"
   48756       14916 :     break;
   48757             : 
   48758           2 :   case 1973: /* opt_float: '(' Iconst ')'  */
   48759             : #line 14650 "gram.y"
   48760             :                                 {
   48761             :                     /*
   48762             :                      * Check FLOAT() precision limits assuming IEEE floating
   48763             :                      * types - thomas 1997-09-18
   48764             :                      */
   48765             :                     if ((yyvsp[-1].ival) < 1)
   48766             :                         ereport(ERROR,
   48767             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   48768             :                                  errmsg("precision for type float must be at least 1 bit"),
   48769             :                                  parser_errposition((yylsp[-1]))));
   48770             :                     else if ((yyvsp[-1].ival) <= 24)
   48771             :                         (yyval.typnam) = SystemTypeName("float4");
   48772             :                     else if ((yyvsp[-1].ival) <= 53)
   48773             :                         (yyval.typnam) = SystemTypeName("float8");
   48774             :                     else
   48775             :                         ereport(ERROR,
   48776             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   48777             :                                  errmsg("precision for type float must be less than 54 bits"),
   48778             :                                  parser_errposition((yylsp[-1]))));
   48779             :                 }
   48780             : #line 48781 "gram.c"
   48781           2 :     break;
   48782             : 
   48783         536 :   case 1974: /* opt_float: %empty  */
   48784             : #line 14671 "gram.y"
   48785             :                                 {
   48786             :                     (yyval.typnam) = SystemTypeName("float8");
   48787             :                 }
   48788             : #line 48789 "gram.c"
   48789         536 :     break;
   48790             : 
   48791        1710 :   case 1975: /* Bit: BitWithLength  */
   48792             : #line 14681 "gram.y"
   48793             :                                 {
   48794             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48795             :                 }
   48796             : #line 48797 "gram.c"
   48797        1710 :     break;
   48798             : 
   48799         212 :   case 1976: /* Bit: BitWithoutLength  */
   48800             : #line 14685 "gram.y"
   48801             :                                 {
   48802             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48803             :                 }
   48804             : #line 48805 "gram.c"
   48805         212 :     break;
   48806             : 
   48807           0 :   case 1977: /* ConstBit: BitWithLength  */
   48808             : #line 14693 "gram.y"
   48809             :                                 {
   48810             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48811             :                 }
   48812             : #line 48813 "gram.c"
   48813           0 :     break;
   48814             : 
   48815           0 :   case 1978: /* ConstBit: BitWithoutLength  */
   48816             : #line 14697 "gram.y"
   48817             :                                 {
   48818             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48819             :                     (yyval.typnam)->typmods = NIL;
   48820             :                 }
   48821             : #line 48822 "gram.c"
   48822           0 :     break;
   48823             : 
   48824        1710 :   case 1979: /* BitWithLength: BIT opt_varying '(' expr_list ')'  */
   48825             : #line 14705 "gram.y"
   48826             :                                 {
   48827             :                     char *typname;
   48828             : 
   48829             :                     typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
   48830             :                     (yyval.typnam) = SystemTypeName(typname);
   48831             :                     (yyval.typnam)->typmods = (yyvsp[-1].list);
   48832             :                     (yyval.typnam)->location = (yylsp[-4]);
   48833             :                 }
   48834             : #line 48835 "gram.c"
   48835        1710 :     break;
   48836             : 
   48837         212 :   case 1980: /* BitWithoutLength: BIT opt_varying  */
   48838             : #line 14717 "gram.y"
   48839             :                                 {
   48840             :                     /* bit defaults to bit(1), varbit to no limit */
   48841             :                     if ((yyvsp[0].boolean))
   48842             :                     {
   48843             :                         (yyval.typnam) = SystemTypeName("varbit");
   48844             :                     }
   48845             :                     else
   48846             :                     {
   48847             :                         (yyval.typnam) = SystemTypeName("bit");
   48848             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   48849             :                     }
   48850             :                     (yyval.typnam)->location = (yylsp[-1]);
   48851             :                 }
   48852             : #line 48853 "gram.c"
   48853         212 :     break;
   48854             : 
   48855        1834 :   case 1981: /* Character: CharacterWithLength  */
   48856             : #line 14738 "gram.y"
   48857             :                                 {
   48858             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48859             :                 }
   48860             : #line 48861 "gram.c"
   48861        1834 :     break;
   48862             : 
   48863        1388 :   case 1982: /* Character: CharacterWithoutLength  */
   48864             : #line 14742 "gram.y"
   48865             :                                 {
   48866             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48867             :                 }
   48868             : #line 48869 "gram.c"
   48869        1388 :     break;
   48870             : 
   48871          12 :   case 1983: /* ConstCharacter: CharacterWithLength  */
   48872             : #line 14748 "gram.y"
   48873             :                                 {
   48874             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48875             :                 }
   48876             : #line 48877 "gram.c"
   48877          12 :     break;
   48878             : 
   48879          22 :   case 1984: /* ConstCharacter: CharacterWithoutLength  */
   48880             : #line 14752 "gram.y"
   48881             :                                 {
   48882             :                     /* Length was not specified so allow to be unrestricted.
   48883             :                      * This handles problems with fixed-length (bpchar) strings
   48884             :                      * which in column definitions must default to a length
   48885             :                      * of one, but should not be constrained if the length
   48886             :                      * was not specified.
   48887             :                      */
   48888             :                     (yyval.typnam) = (yyvsp[0].typnam);
   48889             :                     (yyval.typnam)->typmods = NIL;
   48890             :                 }
   48891             : #line 48892 "gram.c"
   48892          22 :     break;
   48893             : 
   48894        1846 :   case 1985: /* CharacterWithLength: character '(' Iconst ')'  */
   48895             : #line 14765 "gram.y"
   48896             :                                 {
   48897             :                     (yyval.typnam) = SystemTypeName((yyvsp[-3].str));
   48898             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   48899             :                     (yyval.typnam)->location = (yylsp[-3]);
   48900             :                 }
   48901             : #line 48902 "gram.c"
   48902        1846 :     break;
   48903             : 
   48904        1410 :   case 1986: /* CharacterWithoutLength: character  */
   48905             : #line 14773 "gram.y"
   48906             :                                 {
   48907             :                     (yyval.typnam) = SystemTypeName((yyvsp[0].str));
   48908             :                     /* char defaults to char(1), varchar to no limit */
   48909             :                     if (strcmp((yyvsp[0].str), "bpchar") == 0)
   48910             :                         (yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
   48911             :                     (yyval.typnam)->location = (yylsp[0]);
   48912             :                 }
   48913             : #line 48914 "gram.c"
   48914        1410 :     break;
   48915             : 
   48916         780 :   case 1987: /* character: CHARACTER opt_varying  */
   48917             : #line 14783 "gram.y"
   48918             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48919             : #line 48920 "gram.c"
   48920         780 :     break;
   48921             : 
   48922        1172 :   case 1988: /* character: CHAR_P opt_varying  */
   48923             : #line 14785 "gram.y"
   48924             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48925             : #line 48926 "gram.c"
   48926        1172 :     break;
   48927             : 
   48928        1300 :   case 1989: /* character: VARCHAR  */
   48929             : #line 14787 "gram.y"
   48930             :                                                                                 { (yyval.str) = "varchar"; }
   48931             : #line 48932 "gram.c"
   48932        1300 :     break;
   48933             : 
   48934           0 :   case 1990: /* character: NATIONAL CHARACTER opt_varying  */
   48935             : #line 14789 "gram.y"
   48936             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48937             : #line 48938 "gram.c"
   48938           0 :     break;
   48939             : 
   48940           0 :   case 1991: /* character: NATIONAL CHAR_P opt_varying  */
   48941             : #line 14791 "gram.y"
   48942             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48943             : #line 48944 "gram.c"
   48944           0 :     break;
   48945             : 
   48946           4 :   case 1992: /* character: NCHAR opt_varying  */
   48947             : #line 14793 "gram.y"
   48948             :                                                                                 { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
   48949             : #line 48950 "gram.c"
   48950           4 :     break;
   48951             : 
   48952         546 :   case 1993: /* opt_varying: VARYING  */
   48953             : #line 14797 "gram.y"
   48954             :                                                                                                 { (yyval.boolean) = true; }
   48955             : #line 48956 "gram.c"
   48956         546 :     break;
   48957             : 
   48958        3332 :   case 1994: /* opt_varying: %empty  */
   48959             : #line 14798 "gram.y"
   48960             :                                                                                                 { (yyval.boolean) = false; }
   48961             : #line 48962 "gram.c"
   48962        3332 :     break;
   48963             : 
   48964         136 :   case 1995: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone  */
   48965             : #line 14806 "gram.y"
   48966             :                                 {
   48967             :                     if ((yyvsp[0].boolean))
   48968             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   48969             :                     else
   48970             :                         (yyval.typnam) = SystemTypeName("timestamp");
   48971             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   48972             :                     (yyval.typnam)->location = (yylsp[-4]);
   48973             :                 }
   48974             : #line 48975 "gram.c"
   48975         136 :     break;
   48976             : 
   48977        5030 :   case 1996: /* ConstDatetime: TIMESTAMP opt_timezone  */
   48978             : #line 14815 "gram.y"
   48979             :                                 {
   48980             :                     if ((yyvsp[0].boolean))
   48981             :                         (yyval.typnam) = SystemTypeName("timestamptz");
   48982             :                     else
   48983             :                         (yyval.typnam) = SystemTypeName("timestamp");
   48984             :                     (yyval.typnam)->location = (yylsp[-1]);
   48985             :                 }
   48986             : #line 48987 "gram.c"
   48987        5030 :     break;
   48988             : 
   48989          26 :   case 1997: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone  */
   48990             : #line 14823 "gram.y"
   48991             :                                 {
   48992             :                     if ((yyvsp[0].boolean))
   48993             :                         (yyval.typnam) = SystemTypeName("timetz");
   48994             :                     else
   48995             :                         (yyval.typnam) = SystemTypeName("time");
   48996             :                     (yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   48997             :                     (yyval.typnam)->location = (yylsp[-4]);
   48998             :                 }
   48999             : #line 49000 "gram.c"
   49000          26 :     break;
   49001             : 
   49002        2468 :   case 1998: /* ConstDatetime: TIME opt_timezone  */
   49003             : #line 14832 "gram.y"
   49004             :                                 {
   49005             :                     if ((yyvsp[0].boolean))
   49006             :                         (yyval.typnam) = SystemTypeName("timetz");
   49007             :                     else
   49008             :                         (yyval.typnam) = SystemTypeName("time");
   49009             :                     (yyval.typnam)->location = (yylsp[-1]);
   49010             :                 }
   49011             : #line 49012 "gram.c"
   49012        2468 :     break;
   49013             : 
   49014        7014 :   case 1999: /* ConstInterval: INTERVAL  */
   49015             : #line 14843 "gram.y"
   49016             :                                 {
   49017             :                     (yyval.typnam) = SystemTypeName("interval");
   49018             :                     (yyval.typnam)->location = (yylsp[0]);
   49019             :                 }
   49020             : #line 49021 "gram.c"
   49021        7014 :     break;
   49022             : 
   49023        1868 :   case 2000: /* opt_timezone: WITH_LA TIME ZONE  */
   49024             : #line 14850 "gram.y"
   49025             :                                                                                         { (yyval.boolean) = true; }
   49026             : #line 49027 "gram.c"
   49027        1868 :     break;
   49028             : 
   49029         628 :   case 2001: /* opt_timezone: WITHOUT_LA TIME ZONE  */
   49030             : #line 14851 "gram.y"
   49031             :                                                                                 { (yyval.boolean) = false; }
   49032             : #line 49033 "gram.c"
   49033         628 :     break;
   49034             : 
   49035        5164 :   case 2002: /* opt_timezone: %empty  */
   49036             : #line 14852 "gram.y"
   49037             :                                                                                                 { (yyval.boolean) = false; }
   49038             : #line 49039 "gram.c"
   49039        5164 :     break;
   49040             : 
   49041          12 :   case 2003: /* opt_interval: YEAR_P  */
   49042             : #line 14857 "gram.y"
   49043             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
   49044             : #line 49045 "gram.c"
   49045          12 :     break;
   49046             : 
   49047          18 :   case 2004: /* opt_interval: MONTH_P  */
   49048             : #line 14859 "gram.y"
   49049             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
   49050             : #line 49051 "gram.c"
   49051          18 :     break;
   49052             : 
   49053          18 :   case 2005: /* opt_interval: DAY_P  */
   49054             : #line 14861 "gram.y"
   49055             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
   49056             : #line 49057 "gram.c"
   49057          18 :     break;
   49058             : 
   49059          12 :   case 2006: /* opt_interval: HOUR_P  */
   49060             : #line 14863 "gram.y"
   49061             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
   49062             : #line 49063 "gram.c"
   49063          12 :     break;
   49064             : 
   49065          12 :   case 2007: /* opt_interval: MINUTE_P  */
   49066             : #line 14865 "gram.y"
   49067             :                                 { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
   49068             : #line 49069 "gram.c"
   49069          12 :     break;
   49070             : 
   49071          36 :   case 2008: /* opt_interval: interval_second  */
   49072             : #line 14867 "gram.y"
   49073             :                                 { (yyval.list) = (yyvsp[0].list); }
   49074             : #line 49075 "gram.c"
   49075          36 :     break;
   49076             : 
   49077          18 :   case 2009: /* opt_interval: YEAR_P TO MONTH_P  */
   49078             : #line 14869 "gram.y"
   49079             :                                 {
   49080             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
   49081             :                                                  INTERVAL_MASK(MONTH), (yylsp[-2])));
   49082             :                 }
   49083             : #line 49084 "gram.c"
   49084          18 :     break;
   49085             : 
   49086          24 :   case 2010: /* opt_interval: DAY_P TO HOUR_P  */
   49087             : #line 14874 "gram.y"
   49088             :                                 {
   49089             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49090             :                                                  INTERVAL_MASK(HOUR), (yylsp[-2])));
   49091             :                 }
   49092             : #line 49093 "gram.c"
   49093          24 :     break;
   49094             : 
   49095          24 :   case 2011: /* opt_interval: DAY_P TO MINUTE_P  */
   49096             : #line 14879 "gram.y"
   49097             :                                 {
   49098             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
   49099             :                                                  INTERVAL_MASK(HOUR) |
   49100             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49101             :                 }
   49102             : #line 49103 "gram.c"
   49103          24 :     break;
   49104             : 
   49105          48 :   case 2012: /* opt_interval: DAY_P TO interval_second  */
   49106             : #line 14885 "gram.y"
   49107             :                                 {
   49108             :                     (yyval.list) = (yyvsp[0].list);
   49109             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
   49110             :                                                 INTERVAL_MASK(HOUR) |
   49111             :                                                 INTERVAL_MASK(MINUTE) |
   49112             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49113             :                 }
   49114             : #line 49115 "gram.c"
   49115          48 :     break;
   49116             : 
   49117          18 :   case 2013: /* opt_interval: HOUR_P TO MINUTE_P  */
   49118             : #line 14893 "gram.y"
   49119             :                                 {
   49120             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
   49121             :                                                  INTERVAL_MASK(MINUTE), (yylsp[-2])));
   49122             :                 }
   49123             : #line 49124 "gram.c"
   49124          18 :     break;
   49125             : 
   49126          36 :   case 2014: /* opt_interval: HOUR_P TO interval_second  */
   49127             : #line 14898 "gram.y"
   49128             :                                 {
   49129             :                     (yyval.list) = (yyvsp[0].list);
   49130             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
   49131             :                                                 INTERVAL_MASK(MINUTE) |
   49132             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49133             :                 }
   49134             : #line 49135 "gram.c"
   49135          36 :     break;
   49136             : 
   49137          66 :   case 2015: /* opt_interval: MINUTE_P TO interval_second  */
   49138             : #line 14905 "gram.y"
   49139             :                                 {
   49140             :                     (yyval.list) = (yyvsp[0].list);
   49141             :                     linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
   49142             :                                                 INTERVAL_MASK(SECOND), (yylsp[-2]));
   49143             :                 }
   49144             : #line 49145 "gram.c"
   49145          66 :     break;
   49146             : 
   49147        6660 :   case 2016: /* opt_interval: %empty  */
   49148             : #line 14911 "gram.y"
   49149             :                                 { (yyval.list) = NIL; }
   49150             : #line 49151 "gram.c"
   49151        6660 :     break;
   49152             : 
   49153         102 :   case 2017: /* interval_second: SECOND_P  */
   49154             : #line 14916 "gram.y"
   49155             :                                 {
   49156             :                     (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
   49157             :                 }
   49158             : #line 49159 "gram.c"
   49159         102 :     break;
   49160             : 
   49161          84 :   case 2018: /* interval_second: SECOND_P '(' Iconst ')'  */
   49162             : #line 14920 "gram.y"
   49163             :                                 {
   49164             :                     (yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
   49165             :                                     makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
   49166             :                 }
   49167             : #line 49168 "gram.c"
   49168          84 :     break;
   49169             : 
   49170        2156 :   case 2019: /* JsonType: JSON  */
   49171             : #line 14928 "gram.y"
   49172             :                                 {
   49173             :                     (yyval.typnam) = SystemTypeName("json");
   49174             :                     (yyval.typnam)->location = (yylsp[0]);
   49175             :                 }
   49176             : #line 49177 "gram.c"
   49177        2156 :     break;
   49178             : 
   49179     3729524 :   case 2020: /* a_expr: c_expr  */
   49180             : #line 14962 "gram.y"
   49181             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   49182             : #line 49183 "gram.c"
   49183     3729524 :     break;
   49184             : 
   49185      241258 :   case 2021: /* a_expr: a_expr TYPECAST Typename  */
   49186             : #line 14964 "gram.y"
   49187             :                                         { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   49188             : #line 49189 "gram.c"
   49189      241258 :     break;
   49190             : 
   49191        8968 :   case 2022: /* a_expr: a_expr COLLATE any_name  */
   49192             : #line 14966 "gram.y"
   49193             :                                 {
   49194             :                     CollateClause *n = makeNode(CollateClause);
   49195             : 
   49196             :                     n->arg = (yyvsp[-2].node);
   49197             :                     n->collname = (yyvsp[0].list);
   49198             :                     n->location = (yylsp[-1]);
   49199             :                     (yyval.node) = (Node *) n;
   49200             :                 }
   49201             : #line 49202 "gram.c"
   49202        8968 :     break;
   49203             : 
   49204         408 :   case 2023: /* a_expr: a_expr AT TIME ZONE a_expr  */
   49205             : #line 14975 "gram.y"
   49206             :                                 {
   49207             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49208             :                                                list_make2((yyvsp[0].node), (yyvsp[-4].node)),
   49209             :                                                COERCE_SQL_SYNTAX,
   49210             :                                                (yylsp[-3]));
   49211             :                 }
   49212             : #line 49213 "gram.c"
   49213         408 :     break;
   49214             : 
   49215          42 :   case 2024: /* a_expr: a_expr AT LOCAL  */
   49216             : #line 14982 "gram.y"
   49217             :                                 {
   49218             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
   49219             :                                                list_make1((yyvsp[-2].node)),
   49220             :                                                COERCE_SQL_SYNTAX,
   49221             :                                                -1);
   49222             :                 }
   49223             : #line 49224 "gram.c"
   49224          42 :     break;
   49225             : 
   49226          12 :   case 2025: /* a_expr: '+' a_expr  */
   49227             : #line 14998 "gram.y"
   49228             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   49229             : #line 49230 "gram.c"
   49230          12 :     break;
   49231             : 
   49232        9106 :   case 2026: /* a_expr: '-' a_expr  */
   49233             : #line 15000 "gram.y"
   49234             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   49235             : #line 49236 "gram.c"
   49236        9106 :     break;
   49237             : 
   49238       14014 :   case 2027: /* a_expr: a_expr '+' a_expr  */
   49239             : #line 15002 "gram.y"
   49240             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49241             : #line 49242 "gram.c"
   49242       14014 :     break;
   49243             : 
   49244        4436 :   case 2028: /* a_expr: a_expr '-' a_expr  */
   49245             : #line 15004 "gram.y"
   49246             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49247             : #line 49248 "gram.c"
   49248        4434 :     break;
   49249             : 
   49250        6314 :   case 2029: /* a_expr: a_expr '*' a_expr  */
   49251             : #line 15006 "gram.y"
   49252             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49253             : #line 49254 "gram.c"
   49254        6314 :     break;
   49255             : 
   49256        3424 :   case 2030: /* a_expr: a_expr '/' a_expr  */
   49257             : #line 15008 "gram.y"
   49258             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49259             : #line 49260 "gram.c"
   49260        3424 :     break;
   49261             : 
   49262        2830 :   case 2031: /* a_expr: a_expr '%' a_expr  */
   49263             : #line 15010 "gram.y"
   49264             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49265             : #line 49266 "gram.c"
   49266        2830 :     break;
   49267             : 
   49268         474 :   case 2032: /* a_expr: a_expr '^' a_expr  */
   49269             : #line 15012 "gram.y"
   49270             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49271             : #line 49272 "gram.c"
   49272         474 :     break;
   49273             : 
   49274       10450 :   case 2033: /* a_expr: a_expr '<' a_expr  */
   49275             : #line 15014 "gram.y"
   49276             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49277             : #line 49278 "gram.c"
   49278       10450 :     break;
   49279             : 
   49280       16724 :   case 2034: /* a_expr: a_expr '>' a_expr  */
   49281             : #line 15016 "gram.y"
   49282             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49283             : #line 49284 "gram.c"
   49284       16724 :     break;
   49285             : 
   49286      398448 :   case 2035: /* a_expr: a_expr '=' a_expr  */
   49287             : #line 15018 "gram.y"
   49288             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49289             : #line 49290 "gram.c"
   49290      398448 :     break;
   49291             : 
   49292        5248 :   case 2036: /* a_expr: a_expr LESS_EQUALS a_expr  */
   49293             : #line 15020 "gram.y"
   49294             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49295             : #line 49296 "gram.c"
   49296        5248 :     break;
   49297             : 
   49298        7208 :   case 2037: /* a_expr: a_expr GREATER_EQUALS a_expr  */
   49299             : #line 15022 "gram.y"
   49300             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49301             : #line 49302 "gram.c"
   49302        7208 :     break;
   49303             : 
   49304       40690 :   case 2038: /* a_expr: a_expr NOT_EQUALS a_expr  */
   49305             : #line 15024 "gram.y"
   49306             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49307             : #line 49308 "gram.c"
   49308       40690 :     break;
   49309             : 
   49310       58954 :   case 2039: /* a_expr: a_expr qual_Op a_expr  */
   49311             : #line 15027 "gram.y"
   49312             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49313             : #line 49314 "gram.c"
   49314       58954 :     break;
   49315             : 
   49316         210 :   case 2040: /* a_expr: qual_Op a_expr  */
   49317             : #line 15029 "gram.y"
   49318             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   49319             : #line 49320 "gram.c"
   49320         210 :     break;
   49321             : 
   49322      237178 :   case 2041: /* a_expr: a_expr AND a_expr  */
   49323             : #line 15032 "gram.y"
   49324             :                                 { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49325             : #line 49326 "gram.c"
   49326      237178 :     break;
   49327             : 
   49328       16558 :   case 2042: /* a_expr: a_expr OR a_expr  */
   49329             : #line 15034 "gram.y"
   49330             :                                 { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49331             : #line 49332 "gram.c"
   49332       16558 :     break;
   49333             : 
   49334       16746 :   case 2043: /* a_expr: NOT a_expr  */
   49335             : #line 15036 "gram.y"
   49336             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49337             : #line 49338 "gram.c"
   49338       16746 :     break;
   49339             : 
   49340           0 :   case 2044: /* a_expr: NOT_LA a_expr  */
   49341             : #line 15038 "gram.y"
   49342             :                                 { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
   49343             : #line 49344 "gram.c"
   49344           0 :     break;
   49345             : 
   49346        1960 :   case 2045: /* a_expr: a_expr LIKE a_expr  */
   49347             : #line 15041 "gram.y"
   49348             :                                 {
   49349             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49350             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49351             :                 }
   49352             : #line 49353 "gram.c"
   49353        1960 :     break;
   49354             : 
   49355          96 :   case 2046: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr  */
   49356             : #line 15046 "gram.y"
   49357             :                                 {
   49358             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49359             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49360             :                                                  COERCE_EXPLICIT_CALL,
   49361             :                                                  (yylsp[-3]));
   49362             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
   49363             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49364             :                 }
   49365             : #line 49366 "gram.c"
   49366          96 :     break;
   49367             : 
   49368         198 :   case 2047: /* a_expr: a_expr NOT_LA LIKE a_expr  */
   49369             : #line 15055 "gram.y"
   49370             :                                 {
   49371             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49372             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49373             :                 }
   49374             : #line 49375 "gram.c"
   49375         198 :     break;
   49376             : 
   49377          96 :   case 2048: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr  */
   49378             : #line 15060 "gram.y"
   49379             :                                 {
   49380             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49381             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49382             :                                                  COERCE_EXPLICIT_CALL,
   49383             :                                                  (yylsp[-4]));
   49384             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
   49385             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49386             :                 }
   49387             : #line 49388 "gram.c"
   49388          96 :     break;
   49389             : 
   49390         172 :   case 2049: /* a_expr: a_expr ILIKE a_expr  */
   49391             : #line 15069 "gram.y"
   49392             :                                 {
   49393             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49394             :                                                    (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49395             :                 }
   49396             : #line 49397 "gram.c"
   49397         172 :     break;
   49398             : 
   49399           0 :   case 2050: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr  */
   49400             : #line 15074 "gram.y"
   49401             :                                 {
   49402             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49403             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49404             :                                                  COERCE_EXPLICIT_CALL,
   49405             :                                                  (yylsp[-3]));
   49406             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
   49407             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49408             :                 }
   49409             : #line 49410 "gram.c"
   49410           0 :     break;
   49411             : 
   49412          30 :   case 2051: /* a_expr: a_expr NOT_LA ILIKE a_expr  */
   49413             : #line 15083 "gram.y"
   49414             :                                 {
   49415             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49416             :                                                    (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49417             :                 }
   49418             : #line 49419 "gram.c"
   49419          30 :     break;
   49420             : 
   49421           0 :   case 2052: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr  */
   49422             : #line 15088 "gram.y"
   49423             :                                 {
   49424             :                     FuncCall   *n = makeFuncCall(SystemFuncName("like_escape"),
   49425             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49426             :                                                  COERCE_EXPLICIT_CALL,
   49427             :                                                  (yylsp[-4]));
   49428             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
   49429             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49430             :                 }
   49431             : #line 49432 "gram.c"
   49432           0 :     break;
   49433             : 
   49434          88 :   case 2053: /* a_expr: a_expr SIMILAR TO a_expr  */
   49435             : #line 15098 "gram.y"
   49436             :                                 {
   49437             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49438             :                                                  list_make1((yyvsp[0].node)),
   49439             :                                                  COERCE_EXPLICIT_CALL,
   49440             :                                                  (yylsp[-2]));
   49441             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49442             :                                                    (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
   49443             :                 }
   49444             : #line 49445 "gram.c"
   49445          88 :     break;
   49446             : 
   49447          30 :   case 2054: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr  */
   49448             : #line 15107 "gram.y"
   49449             :                                 {
   49450             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49451             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49452             :                                                  COERCE_EXPLICIT_CALL,
   49453             :                                                  (yylsp[-4]));
   49454             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
   49455             :                                                    (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
   49456             :                 }
   49457             : #line 49458 "gram.c"
   49458          30 :     break;
   49459             : 
   49460           0 :   case 2055: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr  */
   49461             : #line 15116 "gram.y"
   49462             :                                 {
   49463             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49464             :                                                  list_make1((yyvsp[0].node)),
   49465             :                                                  COERCE_EXPLICIT_CALL,
   49466             :                                                  (yylsp[-3]));
   49467             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49468             :                                                    (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
   49469             :                 }
   49470             : #line 49471 "gram.c"
   49471           0 :     break;
   49472             : 
   49473           0 :   case 2056: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr  */
   49474             : #line 15125 "gram.y"
   49475             :                                 {
   49476             :                     FuncCall   *n = makeFuncCall(SystemFuncName("similar_to_escape"),
   49477             :                                                  list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49478             :                                                  COERCE_EXPLICIT_CALL,
   49479             :                                                  (yylsp[-5]));
   49480             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
   49481             :                                                    (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
   49482             :                 }
   49483             : #line 49484 "gram.c"
   49484           0 :     break;
   49485             : 
   49486        5258 :   case 2057: /* a_expr: a_expr IS NULL_P  */
   49487             : #line 15144 "gram.y"
   49488             :                                 {
   49489             :                     NullTest   *n = makeNode(NullTest);
   49490             : 
   49491             :                     n->arg = (Expr *) (yyvsp[-2].node);
   49492             :                     n->nulltesttype = IS_NULL;
   49493             :                     n->location = (yylsp[-1]);
   49494             :                     (yyval.node) = (Node *) n;
   49495             :                 }
   49496             : #line 49497 "gram.c"
   49497        5258 :     break;
   49498             : 
   49499          96 :   case 2058: /* a_expr: a_expr ISNULL  */
   49500             : #line 15153 "gram.y"
   49501             :                                 {
   49502             :                     NullTest   *n = makeNode(NullTest);
   49503             : 
   49504             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49505             :                     n->nulltesttype = IS_NULL;
   49506             :                     n->location = (yylsp[0]);
   49507             :                     (yyval.node) = (Node *) n;
   49508             :                 }
   49509             : #line 49510 "gram.c"
   49510          96 :     break;
   49511             : 
   49512       13270 :   case 2059: /* a_expr: a_expr IS NOT NULL_P  */
   49513             : #line 15162 "gram.y"
   49514             :                                 {
   49515             :                     NullTest   *n = makeNode(NullTest);
   49516             : 
   49517             :                     n->arg = (Expr *) (yyvsp[-3].node);
   49518             :                     n->nulltesttype = IS_NOT_NULL;
   49519             :                     n->location = (yylsp[-2]);
   49520             :                     (yyval.node) = (Node *) n;
   49521             :                 }
   49522             : #line 49523 "gram.c"
   49523       13270 :     break;
   49524             : 
   49525           6 :   case 2060: /* a_expr: a_expr NOTNULL  */
   49526             : #line 15171 "gram.y"
   49527             :                                 {
   49528             :                     NullTest   *n = makeNode(NullTest);
   49529             : 
   49530             :                     n->arg = (Expr *) (yyvsp[-1].node);
   49531             :                     n->nulltesttype = IS_NOT_NULL;
   49532             :                     n->location = (yylsp[0]);
   49533             :                     (yyval.node) = (Node *) n;
   49534             :                 }
   49535             : #line 49536 "gram.c"
   49536           6 :     break;
   49537             : 
   49538         948 :   case 2061: /* a_expr: row OVERLAPS row  */
   49539             : #line 15180 "gram.y"
   49540             :                                 {
   49541             :                     if (list_length((yyvsp[-2].list)) != 2)
   49542             :                         ereport(ERROR,
   49543             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49544             :                                  errmsg("wrong number of parameters on left side of OVERLAPS expression"),
   49545             :                                  parser_errposition((yylsp[-2]))));
   49546             :                     if (list_length((yyvsp[0].list)) != 2)
   49547             :                         ereport(ERROR,
   49548             :                                 (errcode(ERRCODE_SYNTAX_ERROR),
   49549             :                                  errmsg("wrong number of parameters on right side of OVERLAPS expression"),
   49550             :                                  parser_errposition((yylsp[0]))));
   49551             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
   49552             :                                                list_concat((yyvsp[-2].list), (yyvsp[0].list)),
   49553             :                                                COERCE_SQL_SYNTAX,
   49554             :                                                (yylsp[-1]));
   49555             :                 }
   49556             : #line 49557 "gram.c"
   49557         948 :     break;
   49558             : 
   49559         532 :   case 2062: /* a_expr: a_expr IS TRUE_P  */
   49560             : #line 15197 "gram.y"
   49561             :                                 {
   49562             :                     BooleanTest *b = makeNode(BooleanTest);
   49563             : 
   49564             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49565             :                     b->booltesttype = IS_TRUE;
   49566             :                     b->location = (yylsp[-1]);
   49567             :                     (yyval.node) = (Node *) b;
   49568             :                 }
   49569             : #line 49570 "gram.c"
   49570         532 :     break;
   49571             : 
   49572         140 :   case 2063: /* a_expr: a_expr IS NOT TRUE_P  */
   49573             : #line 15206 "gram.y"
   49574             :                                 {
   49575             :                     BooleanTest *b = makeNode(BooleanTest);
   49576             : 
   49577             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49578             :                     b->booltesttype = IS_NOT_TRUE;
   49579             :                     b->location = (yylsp[-2]);
   49580             :                     (yyval.node) = (Node *) b;
   49581             :                 }
   49582             : #line 49583 "gram.c"
   49583         140 :     break;
   49584             : 
   49585         140 :   case 2064: /* a_expr: a_expr IS FALSE_P  */
   49586             : #line 15215 "gram.y"
   49587             :                                 {
   49588             :                     BooleanTest *b = makeNode(BooleanTest);
   49589             : 
   49590             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49591             :                     b->booltesttype = IS_FALSE;
   49592             :                     b->location = (yylsp[-1]);
   49593             :                     (yyval.node) = (Node *) b;
   49594             :                 }
   49595             : #line 49596 "gram.c"
   49596         140 :     break;
   49597             : 
   49598          92 :   case 2065: /* a_expr: a_expr IS NOT FALSE_P  */
   49599             : #line 15224 "gram.y"
   49600             :                                 {
   49601             :                     BooleanTest *b = makeNode(BooleanTest);
   49602             : 
   49603             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49604             :                     b->booltesttype = IS_NOT_FALSE;
   49605             :                     b->location = (yylsp[-2]);
   49606             :                     (yyval.node) = (Node *) b;
   49607             :                 }
   49608             : #line 49609 "gram.c"
   49609          92 :     break;
   49610             : 
   49611          52 :   case 2066: /* a_expr: a_expr IS UNKNOWN  */
   49612             : #line 15233 "gram.y"
   49613             :                                 {
   49614             :                     BooleanTest *b = makeNode(BooleanTest);
   49615             : 
   49616             :                     b->arg = (Expr *) (yyvsp[-2].node);
   49617             :                     b->booltesttype = IS_UNKNOWN;
   49618             :                     b->location = (yylsp[-1]);
   49619             :                     (yyval.node) = (Node *) b;
   49620             :                 }
   49621             : #line 49622 "gram.c"
   49622          52 :     break;
   49623             : 
   49624          48 :   case 2067: /* a_expr: a_expr IS NOT UNKNOWN  */
   49625             : #line 15242 "gram.y"
   49626             :                                 {
   49627             :                     BooleanTest *b = makeNode(BooleanTest);
   49628             : 
   49629             :                     b->arg = (Expr *) (yyvsp[-3].node);
   49630             :                     b->booltesttype = IS_NOT_UNKNOWN;
   49631             :                     b->location = (yylsp[-2]);
   49632             :                     (yyval.node) = (Node *) b;
   49633             :                 }
   49634             : #line 49635 "gram.c"
   49635          48 :     break;
   49636             : 
   49637        1264 :   case 2068: /* a_expr: a_expr IS DISTINCT FROM a_expr  */
   49638             : #line 15251 "gram.y"
   49639             :                                 {
   49640             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   49641             :                 }
   49642             : #line 49643 "gram.c"
   49643        1264 :     break;
   49644             : 
   49645          68 :   case 2069: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr  */
   49646             : #line 15255 "gram.y"
   49647             :                                 {
   49648             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   49649             :                 }
   49650             : #line 49651 "gram.c"
   49651          68 :     break;
   49652             : 
   49653         466 :   case 2070: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr  */
   49654             : #line 15259 "gram.y"
   49655             :                                 {
   49656             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
   49657             :                                                    "BETWEEN",
   49658             :                                                    (yyvsp[-5].node),
   49659             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49660             :                                                    (yylsp[-4]));
   49661             :                 }
   49662             : #line 49663 "gram.c"
   49663         466 :     break;
   49664             : 
   49665          12 :   case 2071: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr  */
   49666             : #line 15267 "gram.y"
   49667             :                                 {
   49668             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
   49669             :                                                    "NOT BETWEEN",
   49670             :                                                    (yyvsp[-6].node),
   49671             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49672             :                                                    (yylsp[-5]));
   49673             :                 }
   49674             : #line 49675 "gram.c"
   49675          12 :     break;
   49676             : 
   49677          12 :   case 2072: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr  */
   49678             : #line 15275 "gram.y"
   49679             :                                 {
   49680             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
   49681             :                                                    "BETWEEN SYMMETRIC",
   49682             :                                                    (yyvsp[-5].node),
   49683             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49684             :                                                    (yylsp[-4]));
   49685             :                 }
   49686             : #line 49687 "gram.c"
   49687          12 :     break;
   49688             : 
   49689          12 :   case 2073: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr  */
   49690             : #line 15283 "gram.y"
   49691             :                                 {
   49692             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
   49693             :                                                    "NOT BETWEEN SYMMETRIC",
   49694             :                                                    (yyvsp[-6].node),
   49695             :                                                    (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
   49696             :                                                    (yylsp[-5]));
   49697             :                 }
   49698             : #line 49699 "gram.c"
   49699          12 :     break;
   49700             : 
   49701       24252 :   case 2074: /* a_expr: a_expr IN_P in_expr  */
   49702             : #line 15291 "gram.y"
   49703             :                                 {
   49704             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49705             :                     if (IsA((yyvsp[0].node), SubLink))
   49706             :                     {
   49707             :                         /* generate foo = ANY (subquery) */
   49708             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49709             : 
   49710             :                         n->subLinkType = ANY_SUBLINK;
   49711             :                         n->subLinkId = 0;
   49712             :                         n->testexpr = (yyvsp[-2].node);
   49713             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49714             :                         n->location = (yylsp[-1]);
   49715             :                         (yyval.node) = (Node *) n;
   49716             :                     }
   49717             :                     else
   49718             :                     {
   49719             :                         /* generate scalar IN expression */
   49720             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
   49721             :                     }
   49722             :                 }
   49723             : #line 49724 "gram.c"
   49724       24252 :     break;
   49725             : 
   49726        2936 :   case 2075: /* a_expr: a_expr NOT_LA IN_P in_expr  */
   49727             : #line 15312 "gram.y"
   49728             :                                 {
   49729             :                     /* in_expr returns a SubLink or a list of a_exprs */
   49730             :                     if (IsA((yyvsp[0].node), SubLink))
   49731             :                     {
   49732             :                         /* generate NOT (foo = ANY (subquery)) */
   49733             :                         /* Make an = ANY node */
   49734             :                         SubLink    *n = (SubLink *) (yyvsp[0].node);
   49735             : 
   49736             :                         n->subLinkType = ANY_SUBLINK;
   49737             :                         n->subLinkId = 0;
   49738             :                         n->testexpr = (yyvsp[-3].node);
   49739             :                         n->operName = NIL;       /* show it's IN not = ANY */
   49740             :                         n->location = (yylsp[-2]);
   49741             :                         /* Stick a NOT on top; must have same parse location */
   49742             :                         (yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
   49743             :                     }
   49744             :                     else
   49745             :                     {
   49746             :                         /* generate scalar NOT IN expression */
   49747             :                         (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
   49748             :                     }
   49749             :                 }
   49750             : #line 49751 "gram.c"
   49751        2936 :     break;
   49752             : 
   49753         168 :   case 2076: /* a_expr: a_expr subquery_Op sub_type select_with_parens  */
   49754             : #line 15335 "gram.y"
   49755             :                                 {
   49756             :                     SubLink    *n = makeNode(SubLink);
   49757             : 
   49758             :                     n->subLinkType = (yyvsp[-1].ival);
   49759             :                     n->subLinkId = 0;
   49760             :                     n->testexpr = (yyvsp[-3].node);
   49761             :                     n->operName = (yyvsp[-2].list);
   49762             :                     n->subselect = (yyvsp[0].node);
   49763             :                     n->location = (yylsp[-2]);
   49764             :                     (yyval.node) = (Node *) n;
   49765             :                 }
   49766             : #line 49767 "gram.c"
   49767         168 :     break;
   49768             : 
   49769       17186 :   case 2077: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')'  */
   49770             : #line 15347 "gram.y"
   49771             :                                 {
   49772             :                     if ((yyvsp[-3].ival) == ANY_SUBLINK)
   49773             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   49774             :                     else
   49775             :                         (yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
   49776             :                 }
   49777             : #line 49778 "gram.c"
   49778       17186 :     break;
   49779             : 
   49780           0 :   case 2078: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens  */
   49781             : #line 15354 "gram.y"
   49782             :                                 {
   49783             :                     /* Not sure how to get rid of the parentheses
   49784             :                      * but there are lots of shift/reduce errors without them.
   49785             :                      *
   49786             :                      * Should be able to implement this by plopping the entire
   49787             :                      * select into a node, then transforming the target expressions
   49788             :                      * from whatever they are into count(*), and testing the
   49789             :                      * entire result equal to one.
   49790             :                      * But, will probably implement a separate node in the executor.
   49791             :                      */
   49792             :                     ereport(ERROR,
   49793             :                             (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   49794             :                              errmsg("UNIQUE predicate is not yet implemented"),
   49795             :                              parser_errposition((yylsp[-2]))));
   49796             :                 }
   49797             : #line 49798 "gram.c"
   49798             :     break;
   49799             : 
   49800          18 :   case 2079: /* a_expr: a_expr IS DOCUMENT_P  */
   49801             : #line 15370 "gram.y"
   49802             :                                 {
   49803             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   49804             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   49805             :                 }
   49806             : #line 49807 "gram.c"
   49807          18 :     break;
   49808             : 
   49809          18 :   case 2080: /* a_expr: a_expr IS NOT DOCUMENT_P  */
   49810             : #line 15375 "gram.y"
   49811             :                                 {
   49812             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   49813             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   49814             :                                      (yylsp[-2]));
   49815             :                 }
   49816             : #line 49817 "gram.c"
   49817          18 :     break;
   49818             : 
   49819          12 :   case 2081: /* a_expr: a_expr IS NORMALIZED  */
   49820             : #line 15381 "gram.y"
   49821             :                                 {
   49822             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49823             :                                                list_make1((yyvsp[-2].node)),
   49824             :                                                COERCE_SQL_SYNTAX,
   49825             :                                                (yylsp[-1]));
   49826             :                 }
   49827             : #line 49828 "gram.c"
   49828          12 :     break;
   49829             : 
   49830          36 :   case 2082: /* a_expr: a_expr IS unicode_normal_form NORMALIZED  */
   49831             : #line 15388 "gram.y"
   49832             :                                 {
   49833             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49834             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   49835             :                                                COERCE_SQL_SYNTAX,
   49836             :                                                (yylsp[-2]));
   49837             :                 }
   49838             : #line 49839 "gram.c"
   49839          36 :     break;
   49840             : 
   49841           0 :   case 2083: /* a_expr: a_expr IS NOT NORMALIZED  */
   49842             : #line 15395 "gram.y"
   49843             :                                 {
   49844             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49845             :                                                            list_make1((yyvsp[-3].node)),
   49846             :                                                            COERCE_SQL_SYNTAX,
   49847             :                                                            (yylsp[-2])),
   49848             :                                      (yylsp[-2]));
   49849             :                 }
   49850             : #line 49851 "gram.c"
   49851           0 :     break;
   49852             : 
   49853           0 :   case 2084: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED  */
   49854             : #line 15403 "gram.y"
   49855             :                                 {
   49856             :                     (yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
   49857             :                                                            list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   49858             :                                                            COERCE_SQL_SYNTAX,
   49859             :                                                            (yylsp[-3])),
   49860             :                                      (yylsp[-3]));
   49861             :                 }
   49862             : #line 49863 "gram.c"
   49863           0 :     break;
   49864             : 
   49865         304 :   case 2085: /* a_expr: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   49866             : #line 15412 "gram.y"
   49867             :                                 {
   49868             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   49869             : 
   49870             :                     (yyval.node) = makeJsonIsPredicate((yyvsp[-3].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-3]));
   49871             :                 }
   49872             : #line 49873 "gram.c"
   49873         304 :     break;
   49874             : 
   49875          46 :   case 2086: /* a_expr: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt  */
   49876             : #line 15430 "gram.y"
   49877             :                                 {
   49878             :                     JsonFormat *format = makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   49879             : 
   49880             :                     (yyval.node) = makeNotExpr(makeJsonIsPredicate((yyvsp[-4].node), format, (yyvsp[-1].ival), (yyvsp[0].boolean), (yylsp[-4])), (yylsp[-4]));
   49881             :                 }
   49882             : #line 49883 "gram.c"
   49883          46 :     break;
   49884             : 
   49885        1532 :   case 2087: /* a_expr: DEFAULT  */
   49886             : #line 15447 "gram.y"
   49887             :                                 {
   49888             :                     /*
   49889             :                      * The SQL spec only allows DEFAULT in "contextually typed
   49890             :                      * expressions", but for us, it's easier to allow it in
   49891             :                      * any a_expr and then throw error during parse analysis
   49892             :                      * if it's in an inappropriate context.  This way also
   49893             :                      * lets us say something smarter than "syntax error".
   49894             :                      */
   49895             :                     SetToDefault *n = makeNode(SetToDefault);
   49896             : 
   49897             :                     /* parse analysis will fill in the rest */
   49898             :                     n->location = (yylsp[0]);
   49899             :                     (yyval.node) = (Node *) n;
   49900             :                 }
   49901             : #line 49902 "gram.c"
   49902        1532 :     break;
   49903             : 
   49904        3850 :   case 2088: /* b_expr: c_expr  */
   49905             : #line 15473 "gram.y"
   49906             :                                 { (yyval.node) = (yyvsp[0].node); }
   49907             : #line 49908 "gram.c"
   49908        3850 :     break;
   49909             : 
   49910         228 :   case 2089: /* b_expr: b_expr TYPECAST Typename  */
   49911             : #line 15475 "gram.y"
   49912             :                                 { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
   49913             : #line 49914 "gram.c"
   49914         228 :     break;
   49915             : 
   49916           0 :   case 2090: /* b_expr: '+' b_expr  */
   49917             : #line 15477 "gram.y"
   49918             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
   49919             : #line 49920 "gram.c"
   49920           0 :     break;
   49921             : 
   49922          66 :   case 2091: /* b_expr: '-' b_expr  */
   49923             : #line 15479 "gram.y"
   49924             :                                 { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
   49925             : #line 49926 "gram.c"
   49926          66 :     break;
   49927             : 
   49928          36 :   case 2092: /* b_expr: b_expr '+' b_expr  */
   49929             : #line 15481 "gram.y"
   49930             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49931             : #line 49932 "gram.c"
   49932          36 :     break;
   49933             : 
   49934          12 :   case 2093: /* b_expr: b_expr '-' b_expr  */
   49935             : #line 15483 "gram.y"
   49936             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49937             : #line 49938 "gram.c"
   49938          12 :     break;
   49939             : 
   49940          12 :   case 2094: /* b_expr: b_expr '*' b_expr  */
   49941             : #line 15485 "gram.y"
   49942             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49943             : #line 49944 "gram.c"
   49944          12 :     break;
   49945             : 
   49946           0 :   case 2095: /* b_expr: b_expr '/' b_expr  */
   49947             : #line 15487 "gram.y"
   49948             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49949             : #line 49950 "gram.c"
   49950           0 :     break;
   49951             : 
   49952           0 :   case 2096: /* b_expr: b_expr '%' b_expr  */
   49953             : #line 15489 "gram.y"
   49954             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49955             : #line 49956 "gram.c"
   49956           0 :     break;
   49957             : 
   49958           6 :   case 2097: /* b_expr: b_expr '^' b_expr  */
   49959             : #line 15491 "gram.y"
   49960             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49961             : #line 49962 "gram.c"
   49962           6 :     break;
   49963             : 
   49964           0 :   case 2098: /* b_expr: b_expr '<' b_expr  */
   49965             : #line 15493 "gram.y"
   49966             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49967             : #line 49968 "gram.c"
   49968           0 :     break;
   49969             : 
   49970           0 :   case 2099: /* b_expr: b_expr '>' b_expr  */
   49971             : #line 15495 "gram.y"
   49972             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49973             : #line 49974 "gram.c"
   49974           0 :     break;
   49975             : 
   49976           0 :   case 2100: /* b_expr: b_expr '=' b_expr  */
   49977             : #line 15497 "gram.y"
   49978             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49979             : #line 49980 "gram.c"
   49980           0 :     break;
   49981             : 
   49982           0 :   case 2101: /* b_expr: b_expr LESS_EQUALS b_expr  */
   49983             : #line 15499 "gram.y"
   49984             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49985             : #line 49986 "gram.c"
   49986           0 :     break;
   49987             : 
   49988           0 :   case 2102: /* b_expr: b_expr GREATER_EQUALS b_expr  */
   49989             : #line 15501 "gram.y"
   49990             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49991             : #line 49992 "gram.c"
   49992           0 :     break;
   49993             : 
   49994           0 :   case 2103: /* b_expr: b_expr NOT_EQUALS b_expr  */
   49995             : #line 15503 "gram.y"
   49996             :                                 { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   49997             : #line 49998 "gram.c"
   49998           0 :     break;
   49999             : 
   50000          12 :   case 2104: /* b_expr: b_expr qual_Op b_expr  */
   50001             : #line 15505 "gram.y"
   50002             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
   50003             : #line 50004 "gram.c"
   50004          12 :     break;
   50005             : 
   50006           0 :   case 2105: /* b_expr: qual_Op b_expr  */
   50007             : #line 15507 "gram.y"
   50008             :                                 { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
   50009             : #line 50010 "gram.c"
   50010           0 :     break;
   50011             : 
   50012           0 :   case 2106: /* b_expr: b_expr IS DISTINCT FROM b_expr  */
   50013             : #line 15509 "gram.y"
   50014             :                                 {
   50015             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
   50016             :                 }
   50017             : #line 50018 "gram.c"
   50018           0 :     break;
   50019             : 
   50020           0 :   case 2107: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr  */
   50021             : #line 15513 "gram.y"
   50022             :                                 {
   50023             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
   50024             :                 }
   50025             : #line 50026 "gram.c"
   50026           0 :     break;
   50027             : 
   50028           0 :   case 2108: /* b_expr: b_expr IS DOCUMENT_P  */
   50029             : #line 15517 "gram.y"
   50030             :                                 {
   50031             :                     (yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50032             :                                      list_make1((yyvsp[-2].node)), (yylsp[-1]));
   50033             :                 }
   50034             : #line 50035 "gram.c"
   50035           0 :     break;
   50036             : 
   50037           0 :   case 2109: /* b_expr: b_expr IS NOT DOCUMENT_P  */
   50038             : #line 15522 "gram.y"
   50039             :                                 {
   50040             :                     (yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
   50041             :                                                  list_make1((yyvsp[-3].node)), (yylsp[-2])),
   50042             :                                      (yylsp[-2]));
   50043             :                 }
   50044             : #line 50045 "gram.c"
   50045           0 :     break;
   50046             : 
   50047     1857252 :   case 2110: /* c_expr: columnref  */
   50048             : #line 15537 "gram.y"
   50049             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50050             : #line 50051 "gram.c"
   50051     1857252 :     break;
   50052             : 
   50053     1248620 :   case 2111: /* c_expr: AexprConst  */
   50054             : #line 15538 "gram.y"
   50055             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50056             : #line 50057 "gram.c"
   50057     1248620 :     break;
   50058             : 
   50059       45732 :   case 2112: /* c_expr: PARAM opt_indirection  */
   50060             : #line 15540 "gram.y"
   50061             :                                 {
   50062             :                     ParamRef   *p = makeNode(ParamRef);
   50063             : 
   50064             :                     p->number = (yyvsp[-1].ival);
   50065             :                     p->location = (yylsp[-1]);
   50066             :                     if ((yyvsp[0].list))
   50067             :                     {
   50068             :                         A_Indirection *n = makeNode(A_Indirection);
   50069             : 
   50070             :                         n->arg = (Node *) p;
   50071             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50072             :                         (yyval.node) = (Node *) n;
   50073             :                     }
   50074             :                     else
   50075             :                         (yyval.node) = (Node *) p;
   50076             :                 }
   50077             : #line 50078 "gram.c"
   50078       45732 :     break;
   50079             : 
   50080       92348 :   case 2113: /* c_expr: '(' a_expr ')' opt_indirection  */
   50081             : #line 15557 "gram.y"
   50082             :                                 {
   50083             :                     if ((yyvsp[0].list))
   50084             :                     {
   50085             :                         A_Indirection *n = makeNode(A_Indirection);
   50086             : 
   50087             :                         n->arg = (yyvsp[-2].node);
   50088             :                         n->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50089             :                         (yyval.node) = (Node *) n;
   50090             :                     }
   50091             :                     else
   50092             :                         (yyval.node) = (yyvsp[-2].node);
   50093             :                 }
   50094             : #line 50095 "gram.c"
   50095       92348 :     break;
   50096             : 
   50097       39572 :   case 2114: /* c_expr: case_expr  */
   50098             : #line 15570 "gram.y"
   50099             :                                 { (yyval.node) = (yyvsp[0].node); }
   50100             : #line 50101 "gram.c"
   50101       39572 :     break;
   50102             : 
   50103      392168 :   case 2115: /* c_expr: func_expr  */
   50104             : #line 15572 "gram.y"
   50105             :                                 { (yyval.node) = (yyvsp[0].node); }
   50106             : #line 50107 "gram.c"
   50107      392168 :     break;
   50108             : 
   50109       28830 :   case 2116: /* c_expr: select_with_parens  */
   50110             : #line 15574 "gram.y"
   50111             :                                 {
   50112             :                     SubLink    *n = makeNode(SubLink);
   50113             : 
   50114             :                     n->subLinkType = EXPR_SUBLINK;
   50115             :                     n->subLinkId = 0;
   50116             :                     n->testexpr = NULL;
   50117             :                     n->operName = NIL;
   50118             :                     n->subselect = (yyvsp[0].node);
   50119             :                     n->location = (yylsp[0]);
   50120             :                     (yyval.node) = (Node *) n;
   50121             :                 }
   50122             : #line 50123 "gram.c"
   50123       28830 :     break;
   50124             : 
   50125          18 :   case 2117: /* c_expr: select_with_parens indirection  */
   50126             : #line 15586 "gram.y"
   50127             :                                 {
   50128             :                     /*
   50129             :                      * Because the select_with_parens nonterminal is designed
   50130             :                      * to "eat" as many levels of parens as possible, the
   50131             :                      * '(' a_expr ')' opt_indirection production above will
   50132             :                      * fail to match a sub-SELECT with indirection decoration;
   50133             :                      * the sub-SELECT won't be regarded as an a_expr as long
   50134             :                      * as there are parens around it.  To support applying
   50135             :                      * subscripting or field selection to a sub-SELECT result,
   50136             :                      * we need this redundant-looking production.
   50137             :                      */
   50138             :                     SubLink    *n = makeNode(SubLink);
   50139             :                     A_Indirection *a = makeNode(A_Indirection);
   50140             : 
   50141             :                     n->subLinkType = EXPR_SUBLINK;
   50142             :                     n->subLinkId = 0;
   50143             :                     n->testexpr = NULL;
   50144             :                     n->operName = NIL;
   50145             :                     n->subselect = (yyvsp[-1].node);
   50146             :                     n->location = (yylsp[-1]);
   50147             :                     a->arg = (Node *) n;
   50148             :                     a->indirection = check_indirection((yyvsp[0].list), yyscanner);
   50149             :                     (yyval.node) = (Node *) a;
   50150             :                 }
   50151             : #line 50152 "gram.c"
   50152          18 :     break;
   50153             : 
   50154        6446 :   case 2118: /* c_expr: EXISTS select_with_parens  */
   50155             : #line 15611 "gram.y"
   50156             :                                 {
   50157             :                     SubLink    *n = makeNode(SubLink);
   50158             : 
   50159             :                     n->subLinkType = EXISTS_SUBLINK;
   50160             :                     n->subLinkId = 0;
   50161             :                     n->testexpr = NULL;
   50162             :                     n->operName = NIL;
   50163             :                     n->subselect = (yyvsp[0].node);
   50164             :                     n->location = (yylsp[-1]);
   50165             :                     (yyval.node) = (Node *) n;
   50166             :                 }
   50167             : #line 50168 "gram.c"
   50168        6446 :     break;
   50169             : 
   50170        8944 :   case 2119: /* c_expr: ARRAY select_with_parens  */
   50171             : #line 15623 "gram.y"
   50172             :                                 {
   50173             :                     SubLink    *n = makeNode(SubLink);
   50174             : 
   50175             :                     n->subLinkType = ARRAY_SUBLINK;
   50176             :                     n->subLinkId = 0;
   50177             :                     n->testexpr = NULL;
   50178             :                     n->operName = NIL;
   50179             :                     n->subselect = (yyvsp[0].node);
   50180             :                     n->location = (yylsp[-1]);
   50181             :                     (yyval.node) = (Node *) n;
   50182             :                 }
   50183             : #line 50184 "gram.c"
   50184        8944 :     break;
   50185             : 
   50186        7396 :   case 2120: /* c_expr: ARRAY array_expr  */
   50187             : #line 15635 "gram.y"
   50188             :                                 {
   50189             :                     A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
   50190             : 
   50191             :                     /* point outermost A_ArrayExpr to the ARRAY keyword */
   50192             :                     n->location = (yylsp[-1]);
   50193             :                     (yyval.node) = (Node *) n;
   50194             :                 }
   50195             : #line 50196 "gram.c"
   50196        7396 :     break;
   50197             : 
   50198        3816 :   case 2121: /* c_expr: explicit_row  */
   50199             : #line 15643 "gram.y"
   50200             :                                 {
   50201             :                     RowExpr    *r = makeNode(RowExpr);
   50202             : 
   50203             :                     r->args = (yyvsp[0].list);
   50204             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50205             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50206             :                     r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
   50207             :                     r->location = (yylsp[0]);
   50208             :                     (yyval.node) = (Node *) r;
   50209             :                 }
   50210             : #line 50211 "gram.c"
   50211        3816 :     break;
   50212             : 
   50213        2558 :   case 2122: /* c_expr: implicit_row  */
   50214             : #line 15654 "gram.y"
   50215             :                                 {
   50216             :                     RowExpr    *r = makeNode(RowExpr);
   50217             : 
   50218             :                     r->args = (yyvsp[0].list);
   50219             :                     r->row_typeid = InvalidOid;  /* not analyzed yet */
   50220             :                     r->colnames = NIL;   /* to be filled in during analysis */
   50221             :                     r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
   50222             :                     r->location = (yylsp[0]);
   50223             :                     (yyval.node) = (Node *) r;
   50224             :                 }
   50225             : #line 50226 "gram.c"
   50226        2558 :     break;
   50227             : 
   50228         362 :   case 2123: /* c_expr: GROUPING '(' expr_list ')'  */
   50229             : #line 15665 "gram.y"
   50230             :                           {
   50231             :                   GroupingFunc *g = makeNode(GroupingFunc);
   50232             : 
   50233             :                   g->args = (yyvsp[-1].list);
   50234             :                   g->location = (yylsp[-3]);
   50235             :                   (yyval.node) = (Node *) g;
   50236             :               }
   50237             : #line 50238 "gram.c"
   50238         362 :     break;
   50239             : 
   50240       32082 :   case 2124: /* func_application: func_name '(' ')'  */
   50241             : #line 15675 "gram.y"
   50242             :                                 {
   50243             :                     (yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL,
   50244             :                                                COERCE_EXPLICIT_CALL,
   50245             :                                                (yylsp[-2]));
   50246             :                 }
   50247             : #line 50248 "gram.c"
   50248       32082 :     break;
   50249             : 
   50250      320368 :   case 2125: /* func_application: func_name '(' func_arg_list opt_sort_clause ')'  */
   50251             : #line 15681 "gram.y"
   50252             :                                 {
   50253             :                     FuncCall   *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list),
   50254             :                                                  COERCE_EXPLICIT_CALL,
   50255             :                                                  (yylsp[-4]));
   50256             : 
   50257             :                     n->agg_order = (yyvsp[-1].list);
   50258             :                     (yyval.node) = (Node *) n;
   50259             :                 }
   50260             : #line 50261 "gram.c"
   50261      320364 :     break;
   50262             : 
   50263         614 :   case 2126: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50264             : #line 15690 "gram.y"
   50265             :                                 {
   50266             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)),
   50267             :                                                  COERCE_EXPLICIT_CALL,
   50268             :                                                  (yylsp[-5]));
   50269             : 
   50270             :                     n->func_variadic = true;
   50271             :                     n->agg_order = (yyvsp[-1].list);
   50272             :                     (yyval.node) = (Node *) n;
   50273             :                 }
   50274             : #line 50275 "gram.c"
   50275         614 :     break;
   50276             : 
   50277         120 :   case 2127: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'  */
   50278             : #line 15700 "gram.y"
   50279             :                                 {
   50280             :                     FuncCall   *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)),
   50281             :                                                  COERCE_EXPLICIT_CALL,
   50282             :                                                  (yylsp[-7]));
   50283             : 
   50284             :                     n->func_variadic = true;
   50285             :                     n->agg_order = (yyvsp[-1].list);
   50286             :                     (yyval.node) = (Node *) n;
   50287             :                 }
   50288             : #line 50289 "gram.c"
   50289         120 :     break;
   50290             : 
   50291           0 :   case 2128: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')'  */
   50292             : #line 15710 "gram.y"
   50293             :                                 {
   50294             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50295             :                                                  COERCE_EXPLICIT_CALL,
   50296             :                                                  (yylsp[-5]));
   50297             : 
   50298             :                     n->agg_order = (yyvsp[-1].list);
   50299             :                     /* Ideally we'd mark the FuncCall node to indicate
   50300             :                      * "must be an aggregate", but there's no provision
   50301             :                      * for that in FuncCall at the moment.
   50302             :                      */
   50303             :                     (yyval.node) = (Node *) n;
   50304             :                 }
   50305             : #line 50306 "gram.c"
   50306           0 :     break;
   50307             : 
   50308         550 :   case 2129: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')'  */
   50309             : #line 15723 "gram.y"
   50310             :                                 {
   50311             :                     FuncCall   *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
   50312             :                                                  COERCE_EXPLICIT_CALL,
   50313             :                                                  (yylsp[-5]));
   50314             : 
   50315             :                     n->agg_order = (yyvsp[-1].list);
   50316             :                     n->agg_distinct = true;
   50317             :                     (yyval.node) = (Node *) n;
   50318             :                 }
   50319             : #line 50320 "gram.c"
   50320         550 :     break;
   50321             : 
   50322       12560 :   case 2130: /* func_application: func_name '(' '*' ')'  */
   50323             : #line 15733 "gram.y"
   50324             :                                 {
   50325             :                     /*
   50326             :                      * We consider AGGREGATE(*) to invoke a parameterless
   50327             :                      * aggregate.  This does the right thing for COUNT(*),
   50328             :                      * and there are no other aggregates in SQL that accept
   50329             :                      * '*' as parameter.
   50330             :                      *
   50331             :                      * The FuncCall node is also marked agg_star = true,
   50332             :                      * so that later processing can detect what the argument
   50333             :                      * really was.
   50334             :                      */
   50335             :                     FuncCall   *n = makeFuncCall((yyvsp[-3].list), NIL,
   50336             :                                                  COERCE_EXPLICIT_CALL,
   50337             :                                                  (yylsp[-3]));
   50338             : 
   50339             :                     n->agg_star = true;
   50340             :                     (yyval.node) = (Node *) n;
   50341             :                 }
   50342             : #line 50343 "gram.c"
   50343       12560 :     break;
   50344             : 
   50345      316906 :   case 2131: /* func_expr: func_application within_group_clause filter_clause over_clause  */
   50346             : #line 15764 "gram.y"
   50347             :                                 {
   50348             :                     FuncCall   *n = (FuncCall *) (yyvsp[-3].node);
   50349             : 
   50350             :                     /*
   50351             :                      * The order clause for WITHIN GROUP and the one for
   50352             :                      * plain-aggregate ORDER BY share a field, so we have to
   50353             :                      * check here that at most one is present.  We also check
   50354             :                      * for DISTINCT and VARIADIC here to give a better error
   50355             :                      * location.  Other consistency checks are deferred to
   50356             :                      * parse analysis.
   50357             :                      */
   50358             :                     if ((yyvsp[-2].list) != NIL)
   50359             :                     {
   50360             :                         if (n->agg_order != NIL)
   50361             :                             ereport(ERROR,
   50362             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50363             :                                      errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
   50364             :                                      parser_errposition((yylsp[-2]))));
   50365             :                         if (n->agg_distinct)
   50366             :                             ereport(ERROR,
   50367             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50368             :                                      errmsg("cannot use DISTINCT with WITHIN GROUP"),
   50369             :                                      parser_errposition((yylsp[-2]))));
   50370             :                         if (n->func_variadic)
   50371             :                             ereport(ERROR,
   50372             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   50373             :                                      errmsg("cannot use VARIADIC with WITHIN GROUP"),
   50374             :                                      parser_errposition((yylsp[-2]))));
   50375             :                         n->agg_order = (yyvsp[-2].list);
   50376             :                         n->agg_within_group = true;
   50377             :                     }
   50378             :                     n->agg_filter = (yyvsp[-1].node);
   50379             :                     n->over = (yyvsp[0].windef);
   50380             :                     (yyval.node) = (Node *) n;
   50381             :                 }
   50382             : #line 50383 "gram.c"
   50383      316900 :     break;
   50384             : 
   50385         360 :   case 2132: /* func_expr: json_aggregate_func filter_clause over_clause  */
   50386             : #line 15800 "gram.y"
   50387             :                                 {
   50388             :                     JsonAggConstructor *n = IsA((yyvsp[-2].node), JsonObjectAgg) ?
   50389             :                         ((JsonObjectAgg *) (yyvsp[-2].node))->constructor :
   50390             :                         ((JsonArrayAgg *) (yyvsp[-2].node))->constructor;
   50391             : 
   50392             :                     n->agg_filter = (yyvsp[-1].node);
   50393             :                     n->over = (yyvsp[0].windef);
   50394             :                     (yyval.node) = (Node *) (yyvsp[-2].node);
   50395             :                 }
   50396             : #line 50397 "gram.c"
   50397         360 :     break;
   50398             : 
   50399       74908 :   case 2133: /* func_expr: func_expr_common_subexpr  */
   50400             : #line 15810 "gram.y"
   50401             :                                 { (yyval.node) = (yyvsp[0].node); }
   50402             : #line 50403 "gram.c"
   50403       74908 :     break;
   50404             : 
   50405       48762 :   case 2134: /* func_expr_windowless: func_application  */
   50406             : #line 15820 "gram.y"
   50407             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   50408             : #line 50409 "gram.c"
   50409       48762 :     break;
   50410             : 
   50411         402 :   case 2135: /* func_expr_windowless: func_expr_common_subexpr  */
   50412             : #line 15821 "gram.y"
   50413             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50414             : #line 50415 "gram.c"
   50415         402 :     break;
   50416             : 
   50417           0 :   case 2136: /* func_expr_windowless: json_aggregate_func  */
   50418             : #line 15822 "gram.y"
   50419             :                                                                                 { (yyval.node) = (yyvsp[0].node); }
   50420             : #line 50421 "gram.c"
   50421           0 :     break;
   50422             : 
   50423          30 :   case 2137: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')'  */
   50424             : #line 15830 "gram.y"
   50425             :                                 {
   50426             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
   50427             :                                                list_make1((yyvsp[-1].node)),
   50428             :                                                COERCE_SQL_SYNTAX,
   50429             :                                                (yylsp[-4]));
   50430             :                 }
   50431             : #line 50432 "gram.c"
   50432          30 :     break;
   50433             : 
   50434         304 :   case 2138: /* func_expr_common_subexpr: CURRENT_DATE  */
   50435             : #line 15837 "gram.y"
   50436             :                                 {
   50437             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
   50438             :                 }
   50439             : #line 50440 "gram.c"
   50440         304 :     break;
   50441             : 
   50442          24 :   case 2139: /* func_expr_common_subexpr: CURRENT_TIME  */
   50443             : #line 15841 "gram.y"
   50444             :                                 {
   50445             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
   50446             :                 }
   50447             : #line 50448 "gram.c"
   50448          24 :     break;
   50449             : 
   50450          24 :   case 2140: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')'  */
   50451             : #line 15845 "gram.y"
   50452             :                                 {
   50453             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50454             :                 }
   50455             : #line 50456 "gram.c"
   50456          24 :     break;
   50457             : 
   50458         284 :   case 2141: /* func_expr_common_subexpr: CURRENT_TIMESTAMP  */
   50459             : #line 15849 "gram.y"
   50460             :                                 {
   50461             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
   50462             :                 }
   50463             : #line 50464 "gram.c"
   50464         284 :     break;
   50465             : 
   50466         172 :   case 2142: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')'  */
   50467             : #line 15853 "gram.y"
   50468             :                                 {
   50469             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50470             :                 }
   50471             : #line 50472 "gram.c"
   50472         172 :     break;
   50473             : 
   50474          24 :   case 2143: /* func_expr_common_subexpr: LOCALTIME  */
   50475             : #line 15857 "gram.y"
   50476             :                                 {
   50477             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
   50478             :                 }
   50479             : #line 50480 "gram.c"
   50480          24 :     break;
   50481             : 
   50482          24 :   case 2144: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')'  */
   50483             : #line 15861 "gram.y"
   50484             :                                 {
   50485             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
   50486             :                 }
   50487             : #line 50488 "gram.c"
   50488          24 :     break;
   50489             : 
   50490          36 :   case 2145: /* func_expr_common_subexpr: LOCALTIMESTAMP  */
   50491             : #line 15865 "gram.y"
   50492             :                                 {
   50493             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
   50494             :                 }
   50495             : #line 50496 "gram.c"
   50496          36 :     break;
   50497             : 
   50498          24 :   case 2146: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')'  */
   50499             : #line 15869 "gram.y"
   50500             :                                 {
   50501             :                     (yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
   50502             :                 }
   50503             : #line 50504 "gram.c"
   50504          24 :     break;
   50505             : 
   50506          68 :   case 2147: /* func_expr_common_subexpr: CURRENT_ROLE  */
   50507             : #line 15873 "gram.y"
   50508             :                                 {
   50509             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
   50510             :                 }
   50511             : #line 50512 "gram.c"
   50512          68 :     break;
   50513             : 
   50514        1076 :   case 2148: /* func_expr_common_subexpr: CURRENT_USER  */
   50515             : #line 15877 "gram.y"
   50516             :                                 {
   50517             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
   50518             :                 }
   50519             : #line 50520 "gram.c"
   50520        1076 :     break;
   50521             : 
   50522         584 :   case 2149: /* func_expr_common_subexpr: SESSION_USER  */
   50523             : #line 15881 "gram.y"
   50524             :                                 {
   50525             :                     (yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
   50526             :                 }
   50527             : #line 50528 "gram.c"
   50528         584 :     break;
   50529             : 
   50530          20 :   case 2150: /* func_expr_common_subexpr: SYSTEM_USER  */
   50531             : #line 15885 "gram.y"
   50532             :                                 {
   50533             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("system_user"),
   50534             :                                                NIL,
   50535             :                                                COERCE_SQL_SYNTAX,
   50536             :                                                (yylsp[0]));
   50537             :                 }
   50538             : #line 50539 "gram.c"
   50539          20 :     break;
   50540             : 
   50541          24 :   case 2151: /* func_expr_common_subexpr: USER  */
   50542             : #line 15892 "gram.y"
   50543             :                                 {
   50544             :                     (yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
   50545             :                 }
   50546             : #line 50547 "gram.c"
   50547          24 :     break;
   50548             : 
   50549          52 :   case 2152: /* func_expr_common_subexpr: CURRENT_CATALOG  */
   50550             : #line 15896 "gram.y"
   50551             :                                 {
   50552             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
   50553             :                 }
   50554             : #line 50555 "gram.c"
   50555          52 :     break;
   50556             : 
   50557          30 :   case 2153: /* func_expr_common_subexpr: CURRENT_SCHEMA  */
   50558             : #line 15900 "gram.y"
   50559             :                                 {
   50560             :                     (yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
   50561             :                 }
   50562             : #line 50563 "gram.c"
   50563          30 :     break;
   50564             : 
   50565       61186 :   case 2154: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')'  */
   50566             : #line 15904 "gram.y"
   50567             :                                 { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
   50568             : #line 50569 "gram.c"
   50569       61186 :     break;
   50570             : 
   50571        1374 :   case 2155: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')'  */
   50572             : #line 15906 "gram.y"
   50573             :                                 {
   50574             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
   50575             :                                                (yyvsp[-1].list),
   50576             :                                                COERCE_SQL_SYNTAX,
   50577             :                                                (yylsp[-3]));
   50578             :                 }
   50579             : #line 50580 "gram.c"
   50580        1374 :     break;
   50581             : 
   50582          18 :   case 2156: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')'  */
   50583             : #line 15913 "gram.y"
   50584             :                                 {
   50585             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50586             :                                                list_make1((yyvsp[-1].node)),
   50587             :                                                COERCE_SQL_SYNTAX,
   50588             :                                                (yylsp[-3]));
   50589             :                 }
   50590             : #line 50591 "gram.c"
   50591          18 :     break;
   50592             : 
   50593          42 :   case 2157: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')'  */
   50594             : #line 15920 "gram.y"
   50595             :                                 {
   50596             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
   50597             :                                                list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
   50598             :                                                COERCE_SQL_SYNTAX,
   50599             :                                                (yylsp[-5]));
   50600             :                 }
   50601             : #line 50602 "gram.c"
   50602          42 :     break;
   50603             : 
   50604          82 :   case 2158: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')'  */
   50605             : #line 15927 "gram.y"
   50606             :                                 {
   50607             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
   50608             :                                                (yyvsp[-1].list),
   50609             :                                                COERCE_SQL_SYNTAX,
   50610             :                                                (yylsp[-3]));
   50611             :                 }
   50612             : #line 50613 "gram.c"
   50613          82 :     break;
   50614             : 
   50615           0 :   case 2159: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')'  */
   50616             : #line 15934 "gram.y"
   50617             :                                 {
   50618             :                     /*
   50619             :                      * allow functions named overlay() to be called without
   50620             :                      * special syntax
   50621             :                      */
   50622             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
   50623             :                                                (yyvsp[-1].list),
   50624             :                                                COERCE_EXPLICIT_CALL,
   50625             :                                                (yylsp[-3]));
   50626             :                 }
   50627             : #line 50628 "gram.c"
   50628           0 :     break;
   50629             : 
   50630         398 :   case 2160: /* func_expr_common_subexpr: POSITION '(' position_list ')'  */
   50631             : #line 15945 "gram.y"
   50632             :                                 {
   50633             :                     /*
   50634             :                      * position(A in B) is converted to position(B, A)
   50635             :                      *
   50636             :                      * We deliberately don't offer a "plain syntax" option
   50637             :                      * for position(), because the reversal of the arguments
   50638             :                      * creates too much risk of confusion.
   50639             :                      */
   50640             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
   50641             :                                                (yyvsp[-1].list),
   50642             :                                                COERCE_SQL_SYNTAX,
   50643             :                                                (yylsp[-3]));
   50644             :                 }
   50645             : #line 50646 "gram.c"
   50646         398 :     break;
   50647             : 
   50648         702 :   case 2161: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')'  */
   50649             : #line 15959 "gram.y"
   50650             :                                 {
   50651             :                     /* substring(A from B for C) is converted to
   50652             :                      * substring(A, B, C) - thomas 2000-11-28
   50653             :                      */
   50654             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"),
   50655             :                                                (yyvsp[-1].list),
   50656             :                                                COERCE_SQL_SYNTAX,
   50657             :                                                (yylsp[-3]));
   50658             :                 }
   50659             : #line 50660 "gram.c"
   50660         702 :     break;
   50661             : 
   50662         206 :   case 2162: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')'  */
   50663             : #line 15969 "gram.y"
   50664             :                                 {
   50665             :                     /*
   50666             :                      * allow functions named substring() to be called without
   50667             :                      * special syntax
   50668             :                      */
   50669             :                     (yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
   50670             :                                                (yyvsp[-1].list),
   50671             :                                                COERCE_EXPLICIT_CALL,
   50672             :                                                (yylsp[-3]));
   50673             :                 }
   50674             : #line 50675 "gram.c"
   50675         206 :     break;
   50676             : 
   50677           0 :   case 2163: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')'  */
   50678             : #line 15980 "gram.y"
   50679             :                                 {
   50680             :                     /* TREAT(expr AS target) converts expr of a particular type to target,
   50681             :                      * which is defined to be a subtype of the original expression.
   50682             :                      * In SQL99, this is intended for use with structured UDTs,
   50683             :                      * but let's make this a generally useful form allowing stronger
   50684             :                      * coercions than are handled by implicit casting.
   50685             :                      *
   50686             :                      * Convert SystemTypeName() to SystemFuncName() even though
   50687             :                      * at the moment they result in the same thing.
   50688             :                      */
   50689             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[-1].typnam)->names))),
   50690             :                                                list_make1((yyvsp[-3].node)),
   50691             :                                                COERCE_EXPLICIT_CALL,
   50692             :                                                (yylsp[-5]));
   50693             :                 }
   50694             : #line 50695 "gram.c"
   50695           0 :     break;
   50696             : 
   50697          12 :   case 2164: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')'  */
   50698             : #line 15996 "gram.y"
   50699             :                                 {
   50700             :                     /* various trim expressions are defined in SQL
   50701             :                      * - thomas 1997-07-19
   50702             :                      */
   50703             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50704             :                                                (yyvsp[-1].list),
   50705             :                                                COERCE_SQL_SYNTAX,
   50706             :                                                (yylsp[-4]));
   50707             :                 }
   50708             : #line 50709 "gram.c"
   50709          12 :     break;
   50710             : 
   50711          24 :   case 2165: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')'  */
   50712             : #line 16006 "gram.y"
   50713             :                                 {
   50714             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
   50715             :                                                (yyvsp[-1].list),
   50716             :                                                COERCE_SQL_SYNTAX,
   50717             :                                                (yylsp[-4]));
   50718             :                 }
   50719             : #line 50720 "gram.c"
   50720          24 :     break;
   50721             : 
   50722         578 :   case 2166: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')'  */
   50723             : #line 16013 "gram.y"
   50724             :                                 {
   50725             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
   50726             :                                                (yyvsp[-1].list),
   50727             :                                                COERCE_SQL_SYNTAX,
   50728             :                                                (yylsp[-4]));
   50729             :                 }
   50730             : #line 50731 "gram.c"
   50731         578 :     break;
   50732             : 
   50733          98 :   case 2167: /* func_expr_common_subexpr: TRIM '(' trim_list ')'  */
   50734             : #line 16020 "gram.y"
   50735             :                                 {
   50736             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
   50737             :                                                (yyvsp[-1].list),
   50738             :                                                COERCE_SQL_SYNTAX,
   50739             :                                                (yylsp[-3]));
   50740             :                 }
   50741             : #line 50742 "gram.c"
   50742          98 :     break;
   50743             : 
   50744         416 :   case 2168: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')'  */
   50745             : #line 16027 "gram.y"
   50746             :                                 {
   50747             :                     (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
   50748             :                 }
   50749             : #line 50750 "gram.c"
   50750         416 :     break;
   50751             : 
   50752        3150 :   case 2169: /* func_expr_common_subexpr: COALESCE '(' expr_list ')'  */
   50753             : #line 16031 "gram.y"
   50754             :                                 {
   50755             :                     CoalesceExpr *c = makeNode(CoalesceExpr);
   50756             : 
   50757             :                     c->args = (yyvsp[-1].list);
   50758             :                     c->location = (yylsp[-3]);
   50759             :                     (yyval.node) = (Node *) c;
   50760             :                 }
   50761             : #line 50762 "gram.c"
   50762        3150 :     break;
   50763             : 
   50764         140 :   case 2170: /* func_expr_common_subexpr: GREATEST '(' expr_list ')'  */
   50765             : #line 16039 "gram.y"
   50766             :                                 {
   50767             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   50768             : 
   50769             :                     v->args = (yyvsp[-1].list);
   50770             :                     v->op = IS_GREATEST;
   50771             :                     v->location = (yylsp[-3]);
   50772             :                     (yyval.node) = (Node *) v;
   50773             :                 }
   50774             : #line 50775 "gram.c"
   50775         140 :     break;
   50776             : 
   50777         124 :   case 2171: /* func_expr_common_subexpr: LEAST '(' expr_list ')'  */
   50778             : #line 16048 "gram.y"
   50779             :                                 {
   50780             :                     MinMaxExpr *v = makeNode(MinMaxExpr);
   50781             : 
   50782             :                     v->args = (yyvsp[-1].list);
   50783             :                     v->op = IS_LEAST;
   50784             :                     v->location = (yylsp[-3]);
   50785             :                     (yyval.node) = (Node *) v;
   50786             :                 }
   50787             : #line 50788 "gram.c"
   50788         124 :     break;
   50789             : 
   50790          64 :   case 2172: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')'  */
   50791             : #line 16057 "gram.y"
   50792             :                                 {
   50793             :                     (yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
   50794             :                 }
   50795             : #line 50796 "gram.c"
   50796          64 :     break;
   50797             : 
   50798           6 :   case 2173: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')'  */
   50799             : #line 16061 "gram.y"
   50800             :                                 {
   50801             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
   50802             :                 }
   50803             : #line 50804 "gram.c"
   50804           6 :     break;
   50805             : 
   50806          36 :   case 2174: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')'  */
   50807             : #line 16065 "gram.y"
   50808             :                                 {
   50809             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
   50810             :                 }
   50811             : #line 50812 "gram.c"
   50812          36 :     break;
   50813             : 
   50814         118 :   case 2175: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')'  */
   50815             : #line 16069 "gram.y"
   50816             :                                 {
   50817             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
   50818             :                 }
   50819             : #line 50820 "gram.c"
   50820         118 :     break;
   50821             : 
   50822          22 :   case 2176: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')'  */
   50823             : #line 16073 "gram.y"
   50824             :                                 {
   50825             :                     (yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
   50826             :                 }
   50827             : #line 50828 "gram.c"
   50828          22 :     break;
   50829             : 
   50830          54 :   case 2177: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')'  */
   50831             : #line 16077 "gram.y"
   50832             :                                 {
   50833             :                     /* xmlexists(A PASSING [BY REF] B [BY REF]) is
   50834             :                      * converted to xmlexists(A, B)*/
   50835             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"),
   50836             :                                                list_make2((yyvsp[-2].node), (yyvsp[-1].node)),
   50837             :                                                COERCE_SQL_SYNTAX,
   50838             :                                                (yylsp[-4]));
   50839             :                 }
   50840             : #line 50841 "gram.c"
   50841          54 :     break;
   50842             : 
   50843          34 :   case 2178: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')'  */
   50844             : #line 16086 "gram.y"
   50845             :                                 {
   50846             :                     (yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
   50847             :                 }
   50848             : #line 50849 "gram.c"
   50849          34 :     break;
   50850             : 
   50851         142 :   case 2179: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')'  */
   50852             : #line 16090 "gram.y"
   50853             :                                 {
   50854             :                     XmlExpr *x = (XmlExpr *)
   50855             :                         makeXmlExpr(IS_XMLPARSE, NULL, NIL,
   50856             :                                     list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
   50857             :                                     (yylsp[-5]));
   50858             : 
   50859             :                     x->xmloption = (yyvsp[-3].ival);
   50860             :                     (yyval.node) = (Node *) x;
   50861             :                 }
   50862             : #line 50863 "gram.c"
   50863         142 :     break;
   50864             : 
   50865          30 :   case 2180: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')'  */
   50866             : #line 16100 "gram.y"
   50867             :                                 {
   50868             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
   50869             :                 }
   50870             : #line 50871 "gram.c"
   50871          30 :     break;
   50872             : 
   50873          52 :   case 2181: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')'  */
   50874             : #line 16104 "gram.y"
   50875             :                                 {
   50876             :                     (yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
   50877             :                 }
   50878             : #line 50879 "gram.c"
   50879          52 :     break;
   50880             : 
   50881          70 :   case 2182: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')'  */
   50882             : #line 16108 "gram.y"
   50883             :                                 {
   50884             :                     (yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
   50885             :                                      list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
   50886             :                 }
   50887             : #line 50888 "gram.c"
   50888          70 :     break;
   50889             : 
   50890         226 :   case 2183: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')'  */
   50891             : #line 16113 "gram.y"
   50892             :                                 {
   50893             :                     XmlSerialize *n = makeNode(XmlSerialize);
   50894             : 
   50895             :                     n->xmloption = (yyvsp[-5].ival);
   50896             :                     n->expr = (yyvsp[-4].node);
   50897             :                     n->typeName = (yyvsp[-2].typnam);
   50898             :                     n->indent = (yyvsp[-1].boolean);
   50899             :                     n->location = (yylsp[-7]);
   50900             :                     (yyval.node) = (Node *) n;
   50901             :                 }
   50902             : #line 50903 "gram.c"
   50903         226 :     break;
   50904             : 
   50905          90 :   case 2184: /* func_expr_common_subexpr: JSON_OBJECT '(' func_arg_list ')'  */
   50906             : #line 16124 "gram.y"
   50907             :                                 {
   50908             :                     /* Support for legacy (non-standard) json_object() */
   50909             :                     (yyval.node) = (Node *) makeFuncCall(SystemFuncName("json_object"),
   50910             :                                                (yyvsp[-1].list), COERCE_EXPLICIT_CALL, (yylsp[-3]));
   50911             :                 }
   50912             : #line 50913 "gram.c"
   50913          90 :     break;
   50914             : 
   50915         348 :   case 2185: /* func_expr_common_subexpr: JSON_OBJECT '(' json_name_and_value_list json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_returning_clause_opt ')'  */
   50916             : #line 16133 "gram.y"
   50917             :                                 {
   50918             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   50919             : 
   50920             :                     n->exprs = (yyvsp[-4].list);
   50921             :                     n->absent_on_null = (yyvsp[-3].boolean);
   50922             :                     n->unique = (yyvsp[-2].boolean);
   50923             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50924             :                     n->location = (yylsp[-6]);
   50925             :                     (yyval.node) = (Node *) n;
   50926             :                 }
   50927             : #line 50928 "gram.c"
   50928         348 :     break;
   50929             : 
   50930          92 :   case 2186: /* func_expr_common_subexpr: JSON_OBJECT '(' json_returning_clause_opt ')'  */
   50931             : #line 16144 "gram.y"
   50932             :                                 {
   50933             :                     JsonObjectConstructor *n = makeNode(JsonObjectConstructor);
   50934             : 
   50935             :                     n->exprs = NULL;
   50936             :                     n->absent_on_null = false;
   50937             :                     n->unique = false;
   50938             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50939             :                     n->location = (yylsp[-3]);
   50940             :                     (yyval.node) = (Node *) n;
   50941             :                 }
   50942             : #line 50943 "gram.c"
   50943          92 :     break;
   50944             : 
   50945         108 :   case 2187: /* func_expr_common_subexpr: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_returning_clause_opt ')'  */
   50946             : #line 16159 "gram.y"
   50947             :                                 {
   50948             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   50949             : 
   50950             :                     n->exprs = (yyvsp[-3].list);
   50951             :                     n->absent_on_null = (yyvsp[-2].boolean);
   50952             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50953             :                     n->location = (yylsp[-5]);
   50954             :                     (yyval.node) = (Node *) n;
   50955             :                 }
   50956             : #line 50957 "gram.c"
   50957         108 :     break;
   50958             : 
   50959          60 :   case 2188: /* func_expr_common_subexpr: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_returning_clause_opt ')'  */
   50960             : #line 16174 "gram.y"
   50961             :                                 {
   50962             :                     JsonArrayQueryConstructor *n = makeNode(JsonArrayQueryConstructor);
   50963             : 
   50964             :                     n->query = (yyvsp[-3].node);
   50965             :                     n->format = (JsonFormat *) (yyvsp[-2].node);
   50966             :                     n->absent_on_null = true;    /* XXX */
   50967             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50968             :                     n->location = (yylsp[-5]);
   50969             :                     (yyval.node) = (Node *) n;
   50970             :                 }
   50971             : #line 50972 "gram.c"
   50972          60 :     break;
   50973             : 
   50974          86 :   case 2189: /* func_expr_common_subexpr: JSON_ARRAY '(' json_returning_clause_opt ')'  */
   50975             : #line 16187 "gram.y"
   50976             :                                 {
   50977             :                     JsonArrayConstructor *n = makeNode(JsonArrayConstructor);
   50978             : 
   50979             :                     n->exprs = NIL;
   50980             :                     n->absent_on_null = true;
   50981             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   50982             :                     n->location = (yylsp[-3]);
   50983             :                     (yyval.node) = (Node *) n;
   50984             :                 }
   50985             : #line 50986 "gram.c"
   50986          86 :     break;
   50987             : 
   50988         164 :   case 2190: /* func_expr_common_subexpr: JSON '(' json_value_expr json_key_uniqueness_constraint_opt ')'  */
   50989             : #line 16197 "gram.y"
   50990             :                                 {
   50991             :                     JsonParseExpr *n = makeNode(JsonParseExpr);
   50992             : 
   50993             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   50994             :                     n->unique_keys = (yyvsp[-1].boolean);
   50995             :                     n->output = NULL;
   50996             :                     n->location = (yylsp[-4]);
   50997             :                     (yyval.node) = (Node *) n;
   50998             :                 }
   50999             : #line 51000 "gram.c"
   51000         164 :     break;
   51001             : 
   51002         112 :   case 2191: /* func_expr_common_subexpr: JSON_SCALAR '(' a_expr ')'  */
   51003             : #line 16207 "gram.y"
   51004             :                                 {
   51005             :                     JsonScalarExpr *n = makeNode(JsonScalarExpr);
   51006             : 
   51007             :                     n->expr = (Expr *) (yyvsp[-1].node);
   51008             :                     n->output = NULL;
   51009             :                     n->location = (yylsp[-3]);
   51010             :                     (yyval.node) = (Node *) n;
   51011             :                 }
   51012             : #line 51013 "gram.c"
   51013         112 :     break;
   51014             : 
   51015         108 :   case 2192: /* func_expr_common_subexpr: JSON_SERIALIZE '(' json_value_expr json_returning_clause_opt ')'  */
   51016             : #line 16216 "gram.y"
   51017             :                                 {
   51018             :                     JsonSerializeExpr *n = makeNode(JsonSerializeExpr);
   51019             : 
   51020             :                     n->expr = (JsonValueExpr *) (yyvsp[-2].node);
   51021             :                     n->output = (JsonOutput *) (yyvsp[-1].node);
   51022             :                     n->location = (yylsp[-4]);
   51023             :                     (yyval.node) = (Node *) n;
   51024             :                 }
   51025             : #line 51026 "gram.c"
   51026         108 :     break;
   51027             : 
   51028         210 :   case 2193: /* func_expr_common_subexpr: MERGE_ACTION '(' ')'  */
   51029             : #line 16225 "gram.y"
   51030             :                                 {
   51031             :                     MergeSupportFunc *m = makeNode(MergeSupportFunc);
   51032             : 
   51033             :                     m->msftype = TEXTOID;
   51034             :                     m->location = (yylsp[-2]);
   51035             :                     (yyval.node) = (Node *) m;
   51036             :                 }
   51037             : #line 51038 "gram.c"
   51038         210 :     break;
   51039             : 
   51040         984 :   case 2194: /* func_expr_common_subexpr: JSON_QUERY '(' json_value_expr ',' a_expr json_passing_clause_opt json_returning_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt ')'  */
   51041             : #line 16239 "gram.y"
   51042             :                                 {
   51043             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51044             : 
   51045             :                     n->op = JSON_QUERY_OP;
   51046             :                     n->context_item = (JsonValueExpr *) (yyvsp[-8].node);
   51047             :                     n->pathspec = (yyvsp[-6].node);
   51048             :                     n->passing = (yyvsp[-5].list);
   51049             :                     n->output = (JsonOutput *) (yyvsp[-4].node);
   51050             :                     n->wrapper = (yyvsp[-3].ival);
   51051             :                     n->quotes = (yyvsp[-2].ival);
   51052             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51053             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51054             :                     n->location = (yylsp[-10]);
   51055             :                     (yyval.node) = (Node *) n;
   51056             :                 }
   51057             : #line 51058 "gram.c"
   51058         984 :     break;
   51059             : 
   51060         168 :   case 2195: /* func_expr_common_subexpr: JSON_EXISTS '(' json_value_expr ',' a_expr json_passing_clause_opt json_on_error_clause_opt ')'  */
   51061             : #line 16258 "gram.y"
   51062             :                                 {
   51063             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51064             : 
   51065             :                     n->op = JSON_EXISTS_OP;
   51066             :                     n->context_item = (JsonValueExpr *) (yyvsp[-5].node);
   51067             :                     n->pathspec = (yyvsp[-3].node);
   51068             :                     n->passing = (yyvsp[-2].list);
   51069             :                     n->output = NULL;
   51070             :                     n->on_error = (JsonBehavior *) (yyvsp[-1].node);
   51071             :                     n->location = (yylsp[-7]);
   51072             :                     (yyval.node) = (Node *) n;
   51073             :                 }
   51074             : #line 51075 "gram.c"
   51075         168 :     break;
   51076             : 
   51077         576 :   case 2196: /* func_expr_common_subexpr: JSON_VALUE '(' json_value_expr ',' a_expr json_passing_clause_opt json_returning_clause_opt json_behavior_clause_opt ')'  */
   51078             : #line 16275 "gram.y"
   51079             :                                 {
   51080             :                     JsonFuncExpr *n = makeNode(JsonFuncExpr);
   51081             : 
   51082             :                     n->op = JSON_VALUE_OP;
   51083             :                     n->context_item = (JsonValueExpr *) (yyvsp[-6].node);
   51084             :                     n->pathspec = (yyvsp[-4].node);
   51085             :                     n->passing = (yyvsp[-3].list);
   51086             :                     n->output = (JsonOutput *) (yyvsp[-2].node);
   51087             :                     n->on_empty = (JsonBehavior *) linitial((yyvsp[-1].list));
   51088             :                     n->on_error = (JsonBehavior *) lsecond((yyvsp[-1].list));
   51089             :                     n->location = (yylsp[-8]);
   51090             :                     (yyval.node) = (Node *) n;
   51091             :                 }
   51092             : #line 51093 "gram.c"
   51093         576 :     break;
   51094             : 
   51095          24 :   case 2197: /* xml_root_version: VERSION_P a_expr  */
   51096             : #line 16295 "gram.y"
   51097             :                                 { (yyval.node) = (yyvsp[0].node); }
   51098             : #line 51099 "gram.c"
   51099          24 :     break;
   51100             : 
   51101          46 :   case 2198: /* xml_root_version: VERSION_P NO VALUE_P  */
   51102             : #line 16297 "gram.y"
   51103             :                                 { (yyval.node) = makeNullAConst(-1); }
   51104             : #line 51105 "gram.c"
   51105          46 :     break;
   51106             : 
   51107          28 :   case 2199: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P  */
   51108             : #line 16301 "gram.y"
   51109             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
   51110             : #line 51111 "gram.c"
   51111          28 :     break;
   51112             : 
   51113          12 :   case 2200: /* opt_xml_root_standalone: ',' STANDALONE_P NO  */
   51114             : #line 16303 "gram.y"
   51115             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
   51116             : #line 51117 "gram.c"
   51117          12 :     break;
   51118             : 
   51119          12 :   case 2201: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P  */
   51120             : #line 16305 "gram.y"
   51121             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
   51122             : #line 51123 "gram.c"
   51123          12 :     break;
   51124             : 
   51125          18 :   case 2202: /* opt_xml_root_standalone: %empty  */
   51126             : #line 16307 "gram.y"
   51127             :                                 { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
   51128             : #line 51129 "gram.c"
   51129          18 :     break;
   51130             : 
   51131          58 :   case 2203: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')'  */
   51132             : #line 16310 "gram.y"
   51133             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51134             : #line 51135 "gram.c"
   51135          58 :     break;
   51136             : 
   51137          92 :   case 2204: /* xml_attribute_list: xml_attribute_el  */
   51138             : #line 16313 "gram.y"
   51139             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   51140             : #line 51141 "gram.c"
   51141          92 :     break;
   51142             : 
   51143         150 :   case 2205: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el  */
   51144             : #line 16314 "gram.y"
   51145             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   51146             : #line 51147 "gram.c"
   51147         150 :     break;
   51148             : 
   51149         116 :   case 2206: /* xml_attribute_el: a_expr AS ColLabel  */
   51150             : #line 16318 "gram.y"
   51151             :                                 {
   51152             :                     (yyval.target) = makeNode(ResTarget);
   51153             :                     (yyval.target)->name = (yyvsp[0].str);
   51154             :                     (yyval.target)->indirection = NIL;
   51155             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   51156             :                     (yyval.target)->location = (yylsp[-2]);
   51157             :                 }
   51158             : #line 51159 "gram.c"
   51159         116 :     break;
   51160             : 
   51161         126 :   case 2207: /* xml_attribute_el: a_expr  */
   51162             : #line 16326 "gram.y"
   51163             :                                 {
   51164             :                     (yyval.target) = makeNode(ResTarget);
   51165             :                     (yyval.target)->name = NULL;
   51166             :                     (yyval.target)->indirection = NIL;
   51167             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   51168             :                     (yyval.target)->location = (yylsp[0]);
   51169             :                 }
   51170             : #line 51171 "gram.c"
   51171         126 :     break;
   51172             : 
   51173         190 :   case 2208: /* document_or_content: DOCUMENT_P  */
   51174             : #line 16335 "gram.y"
   51175             :                                                                         { (yyval.ival) = XMLOPTION_DOCUMENT; }
   51176             : #line 51177 "gram.c"
   51177         190 :     break;
   51178             : 
   51179         194 :   case 2209: /* document_or_content: CONTENT_P  */
   51180             : #line 16336 "gram.y"
   51181             :                                                                                                 { (yyval.ival) = XMLOPTION_CONTENT; }
   51182             : #line 51183 "gram.c"
   51183         194 :     break;
   51184             : 
   51185         142 :   case 2210: /* xml_indent_option: INDENT  */
   51186             : #line 16339 "gram.y"
   51187             :                                                                                 { (yyval.boolean) = true; }
   51188             : #line 51189 "gram.c"
   51189         142 :     break;
   51190             : 
   51191          42 :   case 2211: /* xml_indent_option: NO INDENT  */
   51192             : #line 16340 "gram.y"
   51193             :                                                                                                 { (yyval.boolean) = false; }
   51194             : #line 51195 "gram.c"
   51195          42 :     break;
   51196             : 
   51197          42 :   case 2212: /* xml_indent_option: %empty  */
   51198             : #line 16341 "gram.y"
   51199             :                                                                                                 { (yyval.boolean) = false; }
   51200             : #line 51201 "gram.c"
   51201          42 :     break;
   51202             : 
   51203           0 :   case 2213: /* xml_whitespace_option: PRESERVE WHITESPACE_P  */
   51204             : #line 16344 "gram.y"
   51205             :                                                         { (yyval.boolean) = true; }
   51206             : #line 51207 "gram.c"
   51207           0 :     break;
   51208             : 
   51209           4 :   case 2214: /* xml_whitespace_option: STRIP_P WHITESPACE_P  */
   51210             : #line 16345 "gram.y"
   51211             :                                                                                 { (yyval.boolean) = false; }
   51212             : #line 51213 "gram.c"
   51213           4 :     break;
   51214             : 
   51215         138 :   case 2215: /* xml_whitespace_option: %empty  */
   51216             : #line 16346 "gram.y"
   51217             :                                                                                                 { (yyval.boolean) = false; }
   51218             : #line 51219 "gram.c"
   51219         138 :     break;
   51220             : 
   51221         236 :   case 2216: /* xmlexists_argument: PASSING c_expr  */
   51222             : #line 16352 "gram.y"
   51223             :                                 {
   51224             :                     (yyval.node) = (yyvsp[0].node);
   51225             :                 }
   51226             : #line 51227 "gram.c"
   51227         236 :     break;
   51228             : 
   51229           0 :   case 2217: /* xmlexists_argument: PASSING c_expr xml_passing_mech  */
   51230             : #line 16356 "gram.y"
   51231             :                                 {
   51232             :                     (yyval.node) = (yyvsp[-1].node);
   51233             :                 }
   51234             : #line 51235 "gram.c"
   51235           0 :     break;
   51236             : 
   51237          42 :   case 2218: /* xmlexists_argument: PASSING xml_passing_mech c_expr  */
   51238             : #line 16360 "gram.y"
   51239             :                                 {
   51240             :                     (yyval.node) = (yyvsp[0].node);
   51241             :                 }
   51242             : #line 51243 "gram.c"
   51243          42 :     break;
   51244             : 
   51245           6 :   case 2219: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech  */
   51246             : #line 16364 "gram.y"
   51247             :                                 {
   51248             :                     (yyval.node) = (yyvsp[-1].node);
   51249             :                 }
   51250             : #line 51251 "gram.c"
   51251           6 :     break;
   51252             : 
   51253         348 :   case 2222: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')'  */
   51254             : #line 16379 "gram.y"
   51255             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51256             : #line 51257 "gram.c"
   51257         348 :     break;
   51258             : 
   51259      316564 :   case 2223: /* within_group_clause: %empty  */
   51260             : #line 16380 "gram.y"
   51261             :                                                                                                 { (yyval.list) = NIL; }
   51262             : #line 51263 "gram.c"
   51263      316564 :     break;
   51264             : 
   51265         854 :   case 2224: /* filter_clause: FILTER '(' WHERE a_expr ')'  */
   51266             : #line 16384 "gram.y"
   51267             :                                                                                 { (yyval.node) = (yyvsp[-1].node); }
   51268             : #line 51269 "gram.c"
   51269         854 :     break;
   51270             : 
   51271      316418 :   case 2225: /* filter_clause: %empty  */
   51272             : #line 16385 "gram.y"
   51273             :                                                                                                 { (yyval.node) = NULL; }
   51274             : #line 51275 "gram.c"
   51275      316418 :     break;
   51276             : 
   51277         540 :   case 2226: /* window_clause: WINDOW window_definition_list  */
   51278             : #line 16393 "gram.y"
   51279             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   51280             : #line 51281 "gram.c"
   51281         540 :     break;
   51282             : 
   51283      477240 :   case 2227: /* window_clause: %empty  */
   51284             : #line 16394 "gram.y"
   51285             :                                                                                                 { (yyval.list) = NIL; }
   51286             : #line 51287 "gram.c"
   51287      477240 :     break;
   51288             : 
   51289         540 :   case 2228: /* window_definition_list: window_definition  */
   51290             : #line 16398 "gram.y"
   51291             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].windef)); }
   51292             : #line 51293 "gram.c"
   51293         540 :     break;
   51294             : 
   51295          12 :   case 2229: /* window_definition_list: window_definition_list ',' window_definition  */
   51296             : #line 16400 "gram.y"
   51297             :                                                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
   51298             : #line 51299 "gram.c"
   51299          12 :     break;
   51300             : 
   51301         552 :   case 2230: /* window_definition: ColId AS window_specification  */
   51302             : #line 16405 "gram.y"
   51303             :                                 {
   51304             :                     WindowDef  *n = (yyvsp[0].windef);
   51305             : 
   51306             :                     n->name = (yyvsp[-2].str);
   51307             :                     (yyval.windef) = n;
   51308             :                 }
   51309             : #line 51310 "gram.c"
   51310         552 :     break;
   51311             : 
   51312        2614 :   case 2231: /* over_clause: OVER window_specification  */
   51313             : #line 16414 "gram.y"
   51314             :                                 { (yyval.windef) = (yyvsp[0].windef); }
   51315             : #line 51316 "gram.c"
   51316        2614 :     break;
   51317             : 
   51318         954 :   case 2232: /* over_clause: OVER ColId  */
   51319             : #line 16416 "gram.y"
   51320             :                                 {
   51321             :                     WindowDef  *n = makeNode(WindowDef);
   51322             : 
   51323             :                     n->name = (yyvsp[0].str);
   51324             :                     n->refname = NULL;
   51325             :                     n->partitionClause = NIL;
   51326             :                     n->orderClause = NIL;
   51327             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51328             :                     n->startOffset = NULL;
   51329             :                     n->endOffset = NULL;
   51330             :                     n->location = (yylsp[0]);
   51331             :                     (yyval.windef) = n;
   51332             :                 }
   51333             : #line 51334 "gram.c"
   51334         954 :     break;
   51335             : 
   51336      313698 :   case 2233: /* over_clause: %empty  */
   51337             : #line 16430 "gram.y"
   51338             :                                 { (yyval.windef) = NULL; }
   51339             : #line 51340 "gram.c"
   51340      313698 :     break;
   51341             : 
   51342        3166 :   case 2234: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')'  */
   51343             : #line 16435 "gram.y"
   51344             :                                 {
   51345             :                     WindowDef  *n = makeNode(WindowDef);
   51346             : 
   51347             :                     n->name = NULL;
   51348             :                     n->refname = (yyvsp[-4].str);
   51349             :                     n->partitionClause = (yyvsp[-3].list);
   51350             :                     n->orderClause = (yyvsp[-2].list);
   51351             :                     /* copy relevant fields of opt_frame_clause */
   51352             :                     n->frameOptions = (yyvsp[-1].windef)->frameOptions;
   51353             :                     n->startOffset = (yyvsp[-1].windef)->startOffset;
   51354             :                     n->endOffset = (yyvsp[-1].windef)->endOffset;
   51355             :                     n->location = (yylsp[-5]);
   51356             :                     (yyval.windef) = n;
   51357             :                 }
   51358             : #line 51359 "gram.c"
   51359        3166 :     break;
   51360             : 
   51361          54 :   case 2235: /* opt_existing_window_name: ColId  */
   51362             : #line 16461 "gram.y"
   51363             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   51364             : #line 51365 "gram.c"
   51365          54 :     break;
   51366             : 
   51367        3118 :   case 2236: /* opt_existing_window_name: %empty  */
   51368             : #line 16462 "gram.y"
   51369             :                                                                                         { (yyval.str) = NULL; }
   51370             : #line 51371 "gram.c"
   51371        3118 :     break;
   51372             : 
   51373         918 :   case 2237: /* opt_partition_clause: PARTITION BY expr_list  */
   51374             : #line 16465 "gram.y"
   51375             :                                                         { (yyval.list) = (yyvsp[0].list); }
   51376             : #line 51377 "gram.c"
   51377         918 :     break;
   51378             : 
   51379        2248 :   case 2238: /* opt_partition_clause: %empty  */
   51380             : #line 16466 "gram.y"
   51381             :                                                                                                 { (yyval.list) = NIL; }
   51382             : #line 51383 "gram.c"
   51383        2248 :     break;
   51384             : 
   51385         796 :   case 2239: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause  */
   51386             : #line 16475 "gram.y"
   51387             :                                 {
   51388             :                     WindowDef  *n = (yyvsp[-1].windef);
   51389             : 
   51390             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
   51391             :                     n->frameOptions |= (yyvsp[0].ival);
   51392             :                     (yyval.windef) = n;
   51393             :                 }
   51394             : #line 51395 "gram.c"
   51395         796 :     break;
   51396             : 
   51397         624 :   case 2240: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause  */
   51398             : #line 16483 "gram.y"
   51399             :                                 {
   51400             :                     WindowDef  *n = (yyvsp[-1].windef);
   51401             : 
   51402             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
   51403             :                     n->frameOptions |= (yyvsp[0].ival);
   51404             :                     (yyval.windef) = n;
   51405             :                 }
   51406             : #line 51407 "gram.c"
   51407         624 :     break;
   51408             : 
   51409         204 :   case 2241: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause  */
   51410             : #line 16491 "gram.y"
   51411             :                                 {
   51412             :                     WindowDef  *n = (yyvsp[-1].windef);
   51413             : 
   51414             :                     n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
   51415             :                     n->frameOptions |= (yyvsp[0].ival);
   51416             :                     (yyval.windef) = n;
   51417             :                 }
   51418             : #line 51419 "gram.c"
   51419         204 :     break;
   51420             : 
   51421        1542 :   case 2242: /* opt_frame_clause: %empty  */
   51422             : #line 16499 "gram.y"
   51423             :                                 {
   51424             :                     WindowDef  *n = makeNode(WindowDef);
   51425             : 
   51426             :                     n->frameOptions = FRAMEOPTION_DEFAULTS;
   51427             :                     n->startOffset = NULL;
   51428             :                     n->endOffset = NULL;
   51429             :                     (yyval.windef) = n;
   51430             :                 }
   51431             : #line 51432 "gram.c"
   51432        1542 :     break;
   51433             : 
   51434          12 :   case 2243: /* frame_extent: frame_bound  */
   51435             : #line 16510 "gram.y"
   51436             :                                 {
   51437             :                     WindowDef  *n = (yyvsp[0].windef);
   51438             : 
   51439             :                     /* reject invalid cases */
   51440             :                     if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51441             :                         ereport(ERROR,
   51442             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51443             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51444             :                                  parser_errposition((yylsp[0]))));
   51445             :                     if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
   51446             :                         ereport(ERROR,
   51447             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51448             :                                  errmsg("frame starting from following row cannot end with current row"),
   51449             :                                  parser_errposition((yylsp[0]))));
   51450             :                     n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
   51451             :                     (yyval.windef) = n;
   51452             :                 }
   51453             : #line 51454 "gram.c"
   51454          12 :     break;
   51455             : 
   51456        1612 :   case 2244: /* frame_extent: BETWEEN frame_bound AND frame_bound  */
   51457             : #line 16528 "gram.y"
   51458             :                                 {
   51459             :                     WindowDef  *n1 = (yyvsp[-2].windef);
   51460             :                     WindowDef  *n2 = (yyvsp[0].windef);
   51461             : 
   51462             :                     /* form merged options */
   51463             :                     int     frameOptions = n1->frameOptions;
   51464             :                     /* shift converts START_ options to END_ options */
   51465             :                     frameOptions |= n2->frameOptions << 1;
   51466             :                     frameOptions |= FRAMEOPTION_BETWEEN;
   51467             :                     /* reject invalid cases */
   51468             :                     if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
   51469             :                         ereport(ERROR,
   51470             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51471             :                                  errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
   51472             :                                  parser_errposition((yylsp[-2]))));
   51473             :                     if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
   51474             :                         ereport(ERROR,
   51475             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51476             :                                  errmsg("frame end cannot be UNBOUNDED PRECEDING"),
   51477             :                                  parser_errposition((yylsp[0]))));
   51478             :                     if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
   51479             :                         (frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
   51480             :                         ereport(ERROR,
   51481             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51482             :                                  errmsg("frame starting from current row cannot have preceding rows"),
   51483             :                                  parser_errposition((yylsp[0]))));
   51484             :                     if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
   51485             :                         (frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
   51486             :                                          FRAMEOPTION_END_CURRENT_ROW)))
   51487             :                         ereport(ERROR,
   51488             :                                 (errcode(ERRCODE_WINDOWING_ERROR),
   51489             :                                  errmsg("frame starting from following row cannot have preceding rows"),
   51490             :                                  parser_errposition((yylsp[0]))));
   51491             :                     n1->frameOptions = frameOptions;
   51492             :                     n1->endOffset = n2->startOffset;
   51493             :                     (yyval.windef) = n1;
   51494             :                 }
   51495             : #line 51496 "gram.c"
   51496        1612 :     break;
   51497             : 
   51498         198 :   case 2245: /* frame_bound: UNBOUNDED PRECEDING  */
   51499             : #line 16574 "gram.y"
   51500             :                                 {
   51501             :                     WindowDef  *n = makeNode(WindowDef);
   51502             : 
   51503             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
   51504             :                     n->startOffset = NULL;
   51505             :                     n->endOffset = NULL;
   51506             :                     (yyval.windef) = n;
   51507             :                 }
   51508             : #line 51509 "gram.c"
   51509         198 :     break;
   51510             : 
   51511         376 :   case 2246: /* frame_bound: UNBOUNDED FOLLOWING  */
   51512             : #line 16583 "gram.y"
   51513             :                                 {
   51514             :                     WindowDef  *n = makeNode(WindowDef);
   51515             : 
   51516             :                     n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
   51517             :                     n->startOffset = NULL;
   51518             :                     n->endOffset = NULL;
   51519             :                     (yyval.windef) = n;
   51520             :                 }
   51521             : #line 51522 "gram.c"
   51522         376 :     break;
   51523             : 
   51524         604 :   case 2247: /* frame_bound: CURRENT_P ROW  */
   51525             : #line 16592 "gram.y"
   51526             :                                 {
   51527             :                     WindowDef  *n = makeNode(WindowDef);
   51528             : 
   51529             :                     n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
   51530             :                     n->startOffset = NULL;
   51531             :                     n->endOffset = NULL;
   51532             :                     (yyval.windef) = n;
   51533             :                 }
   51534             : #line 51535 "gram.c"
   51535         604 :     break;
   51536             : 
   51537         906 :   case 2248: /* frame_bound: a_expr PRECEDING  */
   51538             : #line 16601 "gram.y"
   51539             :                                 {
   51540             :                     WindowDef  *n = makeNode(WindowDef);
   51541             : 
   51542             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
   51543             :                     n->startOffset = (yyvsp[-1].node);
   51544             :                     n->endOffset = NULL;
   51545             :                     (yyval.windef) = n;
   51546             :                 }
   51547             : #line 51548 "gram.c"
   51548         906 :     break;
   51549             : 
   51550        1152 :   case 2249: /* frame_bound: a_expr FOLLOWING  */
   51551             : #line 16610 "gram.y"
   51552             :                                 {
   51553             :                     WindowDef  *n = makeNode(WindowDef);
   51554             : 
   51555             :                     n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
   51556             :                     n->startOffset = (yyvsp[-1].node);
   51557             :                     n->endOffset = NULL;
   51558             :                     (yyval.windef) = n;
   51559             :                 }
   51560             : #line 51561 "gram.c"
   51561        1152 :     break;
   51562             : 
   51563          84 :   case 2250: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW  */
   51564             : #line 16621 "gram.y"
   51565             :                                                 { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
   51566             : #line 51567 "gram.c"
   51567          84 :     break;
   51568             : 
   51569          96 :   case 2251: /* opt_window_exclusion_clause: EXCLUDE GROUP_P  */
   51570             : #line 16622 "gram.y"
   51571             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
   51572             : #line 51573 "gram.c"
   51573          96 :     break;
   51574             : 
   51575         150 :   case 2252: /* opt_window_exclusion_clause: EXCLUDE TIES  */
   51576             : #line 16623 "gram.y"
   51577             :                                                         { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
   51578             : #line 51579 "gram.c"
   51579         150 :     break;
   51580             : 
   51581          18 :   case 2253: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS  */
   51582             : #line 16624 "gram.y"
   51583             :                                                         { (yyval.ival) = 0; }
   51584             : #line 51585 "gram.c"
   51585          18 :     break;
   51586             : 
   51587        1276 :   case 2254: /* opt_window_exclusion_clause: %empty  */
   51588             : #line 16625 "gram.y"
   51589             :                                                                 { (yyval.ival) = 0; }
   51590             : #line 51591 "gram.c"
   51591        1276 :     break;
   51592             : 
   51593           0 :   case 2255: /* row: ROW '(' expr_list ')'  */
   51594             : #line 16639 "gram.y"
   51595             :                                                                         { (yyval.list) = (yyvsp[-1].list); }
   51596             : #line 51597 "gram.c"
   51597           0 :     break;
   51598             : 
   51599           0 :   case 2256: /* row: ROW '(' ')'  */
   51600             : #line 16640 "gram.y"
   51601             :                                                                                         { (yyval.list) = NIL; }
   51602             : #line 51603 "gram.c"
   51603           0 :     break;
   51604             : 
   51605        1896 :   case 2257: /* row: '(' expr_list ',' a_expr ')'  */
   51606             : #line 16641 "gram.y"
   51607             :                                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51608             : #line 51609 "gram.c"
   51609        1896 :     break;
   51610             : 
   51611        3780 :   case 2258: /* explicit_row: ROW '(' expr_list ')'  */
   51612             : #line 16644 "gram.y"
   51613             :                                                                 { (yyval.list) = (yyvsp[-1].list); }
   51614             : #line 51615 "gram.c"
   51615        3780 :     break;
   51616             : 
   51617          36 :   case 2259: /* explicit_row: ROW '(' ')'  */
   51618             : #line 16645 "gram.y"
   51619             :                                                                                         { (yyval.list) = NIL; }
   51620             : #line 51621 "gram.c"
   51621          36 :     break;
   51622             : 
   51623        2558 :   case 2260: /* implicit_row: '(' expr_list ',' a_expr ')'  */
   51624             : #line 16648 "gram.y"
   51625             :                                                         { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
   51626             : #line 51627 "gram.c"
   51627        2558 :     break;
   51628             : 
   51629       17030 :   case 2261: /* sub_type: ANY  */
   51630             : #line 16651 "gram.y"
   51631             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51632             : #line 51633 "gram.c"
   51633       17030 :     break;
   51634             : 
   51635           0 :   case 2262: /* sub_type: SOME  */
   51636             : #line 16652 "gram.y"
   51637             :                                                                                                 { (yyval.ival) = ANY_SUBLINK; }
   51638             : #line 51639 "gram.c"
   51639           0 :     break;
   51640             : 
   51641         324 :   case 2263: /* sub_type: ALL  */
   51642             : #line 16653 "gram.y"
   51643             :                                                                                                 { (yyval.ival) = ALL_SUBLINK; }
   51644             : #line 51645 "gram.c"
   51645         324 :     break;
   51646             : 
   51647       11150 :   case 2264: /* all_Op: Op  */
   51648             : #line 16656 "gram.y"
   51649             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51650             : #line 51651 "gram.c"
   51651       11150 :     break;
   51652             : 
   51653       28250 :   case 2265: /* all_Op: MathOp  */
   51654             : #line 16657 "gram.y"
   51655             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51656             : #line 51657 "gram.c"
   51657       28250 :     break;
   51658             : 
   51659          40 :   case 2266: /* MathOp: '+'  */
   51660             : #line 16660 "gram.y"
   51661             :                                                                                         { (yyval.str) = "+"; }
   51662             : #line 51663 "gram.c"
   51663          40 :     break;
   51664             : 
   51665          64 :   case 2267: /* MathOp: '-'  */
   51666             : #line 16661 "gram.y"
   51667             :                                                                                                 { (yyval.str) = "-"; }
   51668             : #line 51669 "gram.c"
   51669          64 :     break;
   51670             : 
   51671         116 :   case 2268: /* MathOp: '*'  */
   51672             : #line 16662 "gram.y"
   51673             :                                                                                                 { (yyval.str) = "*"; }
   51674             : #line 51675 "gram.c"
   51675         116 :     break;
   51676             : 
   51677           0 :   case 2269: /* MathOp: '/'  */
   51678             : #line 16663 "gram.y"
   51679             :                                                                                                 { (yyval.str) = "/"; }
   51680             : #line 51681 "gram.c"
   51681           0 :     break;
   51682             : 
   51683           8 :   case 2270: /* MathOp: '%'  */
   51684             : #line 16664 "gram.y"
   51685             :                                                                                                 { (yyval.str) = "%"; }
   51686             : #line 51687 "gram.c"
   51687           8 :     break;
   51688             : 
   51689           0 :   case 2271: /* MathOp: '^'  */
   51690             : #line 16665 "gram.y"
   51691             :                                                                                                 { (yyval.str) = "^"; }
   51692             : #line 51693 "gram.c"
   51693           0 :     break;
   51694             : 
   51695         758 :   case 2272: /* MathOp: '<'  */
   51696             : #line 16666 "gram.y"
   51697             :                                                                                                 { (yyval.str) = "<"; }
   51698             : #line 51699 "gram.c"
   51699         758 :     break;
   51700             : 
   51701         648 :   case 2273: /* MathOp: '>'  */
   51702             : #line 16667 "gram.y"
   51703             :                                                                                                 { (yyval.str) = ">"; }
   51704             : #line 51705 "gram.c"
   51705         648 :     break;
   51706             : 
   51707       24752 :   case 2274: /* MathOp: '='  */
   51708             : #line 16668 "gram.y"
   51709             :                                                                                                 { (yyval.str) = "="; }
   51710             : #line 51711 "gram.c"
   51711       24752 :     break;
   51712             : 
   51713         618 :   case 2275: /* MathOp: LESS_EQUALS  */
   51714             : #line 16669 "gram.y"
   51715             :                                                                                         { (yyval.str) = "<="; }
   51716             : #line 51717 "gram.c"
   51717         618 :     break;
   51718             : 
   51719         610 :   case 2276: /* MathOp: GREATER_EQUALS  */
   51720             : #line 16670 "gram.y"
   51721             :                                                                                         { (yyval.str) = ">="; }
   51722             : #line 51723 "gram.c"
   51723         610 :     break;
   51724             : 
   51725         636 :   case 2277: /* MathOp: NOT_EQUALS  */
   51726             : #line 16671 "gram.y"
   51727             :                                                                                         { (yyval.str) = "<>"; }
   51728             : #line 51729 "gram.c"
   51729         636 :     break;
   51730             : 
   51731       43670 :   case 2278: /* qual_Op: Op  */
   51732             : #line 16675 "gram.y"
   51733             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51734             : #line 51735 "gram.c"
   51735       43670 :     break;
   51736             : 
   51737       15512 :   case 2279: /* qual_Op: OPERATOR '(' any_operator ')'  */
   51738             : #line 16677 "gram.y"
   51739             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51740             : #line 51741 "gram.c"
   51741       15512 :     break;
   51742             : 
   51743        1416 :   case 2280: /* qual_all_Op: all_Op  */
   51744             : #line 16682 "gram.y"
   51745             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51746             : #line 51747 "gram.c"
   51747        1416 :     break;
   51748             : 
   51749          44 :   case 2281: /* qual_all_Op: OPERATOR '(' any_operator ')'  */
   51750             : #line 16684 "gram.y"
   51751             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51752             : #line 51753 "gram.c"
   51753          44 :     break;
   51754             : 
   51755       17050 :   case 2282: /* subquery_Op: all_Op  */
   51756             : #line 16689 "gram.y"
   51757             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   51758             : #line 51759 "gram.c"
   51759       17050 :     break;
   51760             : 
   51761         272 :   case 2283: /* subquery_Op: OPERATOR '(' any_operator ')'  */
   51762             : #line 16691 "gram.y"
   51763             :                                         { (yyval.list) = (yyvsp[-1].list); }
   51764             : #line 51765 "gram.c"
   51765         272 :     break;
   51766             : 
   51767          24 :   case 2284: /* subquery_Op: LIKE  */
   51768             : #line 16693 "gram.y"
   51769             :                                         { (yyval.list) = list_make1(makeString("~~")); }
   51770             : #line 51771 "gram.c"
   51771          24 :     break;
   51772             : 
   51773          12 :   case 2285: /* subquery_Op: NOT_LA LIKE  */
   51774             : #line 16695 "gram.y"
   51775             :                                         { (yyval.list) = list_make1(makeString("!~~")); }
   51776             : #line 51777 "gram.c"
   51777          12 :     break;
   51778             : 
   51779          12 :   case 2286: /* subquery_Op: ILIKE  */
   51780             : #line 16697 "gram.y"
   51781             :                                         { (yyval.list) = list_make1(makeString("~~*")); }
   51782             : #line 51783 "gram.c"
   51783          12 :     break;
   51784             : 
   51785           0 :   case 2287: /* subquery_Op: NOT_LA ILIKE  */
   51786             : #line 16699 "gram.y"
   51787             :                                         { (yyval.list) = list_make1(makeString("!~~*")); }
   51788             : #line 51789 "gram.c"
   51789           0 :     break;
   51790             : 
   51791      164970 :   case 2288: /* expr_list: a_expr  */
   51792             : #line 16711 "gram.y"
   51793             :                                 {
   51794             :                     (yyval.list) = list_make1((yyvsp[0].node));
   51795             :                 }
   51796             : #line 51797 "gram.c"
   51797      164970 :     break;
   51798             : 
   51799      145556 :   case 2289: /* expr_list: expr_list ',' a_expr  */
   51800             : #line 16715 "gram.y"
   51801             :                                 {
   51802             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   51803             :                 }
   51804             : #line 51805 "gram.c"
   51805      145556 :     break;
   51806             : 
   51807      321334 :   case 2290: /* func_arg_list: func_arg_expr  */
   51808             : #line 16722 "gram.y"
   51809             :                                 {
   51810             :                     (yyval.list) = list_make1((yyvsp[0].node));
   51811             :                 }
   51812             : #line 51813 "gram.c"
   51813      321330 :     break;
   51814             : 
   51815      284410 :   case 2291: /* func_arg_list: func_arg_list ',' func_arg_expr  */
   51816             : #line 16726 "gram.y"
   51817             :                                 {
   51818             :                     (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
   51819             :                 }
   51820             : #line 51821 "gram.c"
   51821      284404 :     break;
   51822             : 
   51823      560240 :   case 2292: /* func_arg_expr: a_expr  */
   51824             : #line 16732 "gram.y"
   51825             :                                 {
   51826             :                     (yyval.node) = (yyvsp[0].node);
   51827             :                 }
   51828             : #line 51829 "gram.c"
   51829      560240 :     break;
   51830             : 
   51831       44626 :   case 2293: /* func_arg_expr: param_name COLON_EQUALS a_expr  */
   51832             : #line 16736 "gram.y"
   51833             :                                 {
   51834             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   51835             : 
   51836             :                     na->name = (yyvsp[-2].str);
   51837             :                     na->arg = (Expr *) (yyvsp[0].node);
   51838             :                     na->argnumber = -1;      /* until determined */
   51839             :                     na->location = (yylsp[-2]);
   51840             :                     (yyval.node) = (Node *) na;
   51841             :                 }
   51842             : #line 51843 "gram.c"
   51843       44626 :     break;
   51844             : 
   51845        1612 :   case 2294: /* func_arg_expr: param_name EQUALS_GREATER a_expr  */
   51846             : #line 16746 "gram.y"
   51847             :                                 {
   51848             :                     NamedArgExpr *na = makeNode(NamedArgExpr);
   51849             : 
   51850             :                     na->name = (yyvsp[-2].str);
   51851             :                     na->arg = (Expr *) (yyvsp[0].node);
   51852             :                     na->argnumber = -1;      /* until determined */
   51853             :                     na->location = (yylsp[-2]);
   51854             :                     (yyval.node) = (Node *) na;
   51855             :                 }
   51856             : #line 51857 "gram.c"
   51857        1612 :     break;
   51858             : 
   51859         206 :   case 2295: /* func_arg_list_opt: func_arg_list  */
   51860             : #line 16757 "gram.y"
   51861             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   51862             : #line 51863 "gram.c"
   51863         206 :     break;
   51864             : 
   51865           0 :   case 2296: /* func_arg_list_opt: %empty  */
   51866             : #line 16758 "gram.y"
   51867             :                                                                                                 { (yyval.list) = NIL; }
   51868             : #line 51869 "gram.c"
   51869           0 :     break;
   51870             : 
   51871        2176 :   case 2297: /* type_list: Typename  */
   51872             : #line 16761 "gram.y"
   51873             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].typnam)); }
   51874             : #line 51875 "gram.c"
   51875        2176 :     break;
   51876             : 
   51877         574 :   case 2298: /* type_list: type_list ',' Typename  */
   51878             : #line 16762 "gram.y"
   51879             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
   51880             : #line 51881 "gram.c"
   51881         574 :     break;
   51882             : 
   51883        7650 :   case 2299: /* array_expr: '[' expr_list ']'  */
   51884             : #line 16766 "gram.y"
   51885             :                                 {
   51886             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   51887             :                 }
   51888             : #line 51889 "gram.c"
   51889        7650 :     break;
   51890             : 
   51891         412 :   case 2300: /* array_expr: '[' array_expr_list ']'  */
   51892             : #line 16770 "gram.y"
   51893             :                                 {
   51894             :                     (yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
   51895             :                 }
   51896             : #line 51897 "gram.c"
   51897         412 :     break;
   51898             : 
   51899          88 :   case 2301: /* array_expr: '[' ']'  */
   51900             : #line 16774 "gram.y"
   51901             :                                 {
   51902             :                     (yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
   51903             :                 }
   51904             : #line 51905 "gram.c"
   51905          88 :     break;
   51906             : 
   51907         412 :   case 2302: /* array_expr_list: array_expr  */
   51908             : #line 16779 "gram.y"
   51909             :                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   51910             : #line 51911 "gram.c"
   51911         412 :     break;
   51912             : 
   51913         342 :   case 2303: /* array_expr_list: array_expr_list ',' array_expr  */
   51914             : #line 16780 "gram.y"
   51915             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   51916             : #line 51917 "gram.c"
   51917         342 :     break;
   51918             : 
   51919        1374 :   case 2304: /* extract_list: extract_arg FROM a_expr  */
   51920             : #line 16786 "gram.y"
   51921             :                                 {
   51922             :                     (yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
   51923             :                 }
   51924             : #line 51925 "gram.c"
   51925        1374 :     break;
   51926             : 
   51927        1116 :   case 2305: /* extract_arg: IDENT  */
   51928             : #line 16795 "gram.y"
   51929             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51930             : #line 51931 "gram.c"
   51931        1116 :     break;
   51932             : 
   51933          72 :   case 2306: /* extract_arg: YEAR_P  */
   51934             : #line 16796 "gram.y"
   51935             :                                                                                                 { (yyval.str) = "year"; }
   51936             : #line 51937 "gram.c"
   51937          72 :     break;
   51938             : 
   51939          42 :   case 2307: /* extract_arg: MONTH_P  */
   51940             : #line 16797 "gram.y"
   51941             :                                                                                                 { (yyval.str) = "month"; }
   51942             : #line 51943 "gram.c"
   51943          42 :     break;
   51944             : 
   51945          54 :   case 2308: /* extract_arg: DAY_P  */
   51946             : #line 16798 "gram.y"
   51947             :                                                                                                 { (yyval.str) = "day"; }
   51948             : #line 51949 "gram.c"
   51949          54 :     break;
   51950             : 
   51951          30 :   case 2309: /* extract_arg: HOUR_P  */
   51952             : #line 16799 "gram.y"
   51953             :                                                                                                 { (yyval.str) = "hour"; }
   51954             : #line 51955 "gram.c"
   51955          30 :     break;
   51956             : 
   51957          30 :   case 2310: /* extract_arg: MINUTE_P  */
   51958             : #line 16800 "gram.y"
   51959             :                                                                                                 { (yyval.str) = "minute"; }
   51960             : #line 51961 "gram.c"
   51961          30 :     break;
   51962             : 
   51963          30 :   case 2311: /* extract_arg: SECOND_P  */
   51964             : #line 16801 "gram.y"
   51965             :                                                                                                 { (yyval.str) = "second"; }
   51966             : #line 51967 "gram.c"
   51967          30 :     break;
   51968             : 
   51969           0 :   case 2312: /* extract_arg: Sconst  */
   51970             : #line 16802 "gram.y"
   51971             :                                                                                                 { (yyval.str) = (yyvsp[0].str); }
   51972             : #line 51973 "gram.c"
   51973           0 :     break;
   51974             : 
   51975          24 :   case 2313: /* unicode_normal_form: NFC  */
   51976             : #line 16806 "gram.y"
   51977             :                                                                                                         { (yyval.str) = "NFC"; }
   51978             : #line 51979 "gram.c"
   51979          24 :     break;
   51980             : 
   51981          18 :   case 2314: /* unicode_normal_form: NFD  */
   51982             : #line 16807 "gram.y"
   51983             :                                                                                                 { (yyval.str) = "NFD"; }
   51984             : #line 51985 "gram.c"
   51985          18 :     break;
   51986             : 
   51987          18 :   case 2315: /* unicode_normal_form: NFKC  */
   51988             : #line 16808 "gram.y"
   51989             :                                                                                                 { (yyval.str) = "NFKC"; }
   51990             : #line 51991 "gram.c"
   51991          18 :     break;
   51992             : 
   51993          18 :   case 2316: /* unicode_normal_form: NFKD  */
   51994             : #line 16809 "gram.y"
   51995             :                                                                                                 { (yyval.str) = "NFKD"; }
   51996             : #line 51997 "gram.c"
   51997          18 :     break;
   51998             : 
   51999          34 :   case 2317: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr  */
   52000             : #line 16815 "gram.y"
   52001             :                                 {
   52002             :                     /* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
   52003             :                     (yyval.list) = list_make4((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52004             :                 }
   52005             : #line 52006 "gram.c"
   52006          34 :     break;
   52007             : 
   52008          48 :   case 2318: /* overlay_list: a_expr PLACING a_expr FROM a_expr  */
   52009             : #line 16820 "gram.y"
   52010             :                                 {
   52011             :                     /* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
   52012             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52013             :                 }
   52014             : #line 52015 "gram.c"
   52015          48 :     break;
   52016             : 
   52017         398 :   case 2319: /* position_list: b_expr IN_P b_expr  */
   52018             : #line 16828 "gram.y"
   52019             :                                                                                         { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
   52020             : #line 52021 "gram.c"
   52021         398 :     break;
   52022             : 
   52023         122 :   case 2320: /* substr_list: a_expr FROM a_expr FOR a_expr  */
   52024             : #line 16850 "gram.y"
   52025             :                                 {
   52026             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52027             :                 }
   52028             : #line 52029 "gram.c"
   52029         122 :     break;
   52030             : 
   52031           0 :   case 2321: /* substr_list: a_expr FOR a_expr FROM a_expr  */
   52032             : #line 16854 "gram.y"
   52033             :                                 {
   52034             :                     /* not legal per SQL, but might as well allow it */
   52035             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[0].node), (yyvsp[-2].node));
   52036             :                 }
   52037             : #line 52038 "gram.c"
   52038           0 :     break;
   52039             : 
   52040         364 :   case 2322: /* substr_list: a_expr FROM a_expr  */
   52041             : #line 16859 "gram.y"
   52042             :                                 {
   52043             :                     /*
   52044             :                      * Because we aren't restricting data types here, this
   52045             :                      * syntax can end up resolving to textregexsubstr().
   52046             :                      * We've historically allowed that to happen, so continue
   52047             :                      * to accept it.  However, ruleutils.c will reverse-list
   52048             :                      * such a call in regular function call syntax.
   52049             :                      */
   52050             :                     (yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node));
   52051             :                 }
   52052             : #line 52053 "gram.c"
   52053         364 :     break;
   52054             : 
   52055          36 :   case 2323: /* substr_list: a_expr FOR a_expr  */
   52056             : #line 16870 "gram.y"
   52057             :                                 {
   52058             :                     /* not legal per SQL */
   52059             : 
   52060             :                     /*
   52061             :                      * Since there are no cases where this syntax allows
   52062             :                      * a textual FOR value, we forcibly cast the argument
   52063             :                      * to int4.  The possible matches in pg_proc are
   52064             :                      * substring(text,int4) and substring(text,text),
   52065             :                      * and we don't want the parser to choose the latter,
   52066             :                      * which it is likely to do if the second argument
   52067             :                      * is unknown or doesn't have an implicit cast to int4.
   52068             :                      */
   52069             :                     (yyval.list) = list_make3((yyvsp[-2].node), makeIntConst(1, -1),
   52070             :                                     makeTypeCast((yyvsp[0].node),
   52071             :                                                  SystemTypeName("int4"), -1));
   52072             :                 }
   52073             : #line 52074 "gram.c"
   52074          36 :     break;
   52075             : 
   52076         180 :   case 2324: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr  */
   52077             : #line 16887 "gram.y"
   52078             :                                 {
   52079             :                     (yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
   52080             :                 }
   52081             : #line 52082 "gram.c"
   52082         180 :     break;
   52083             : 
   52084         602 :   case 2325: /* trim_list: a_expr FROM expr_list  */
   52085             : #line 16892 "gram.y"
   52086             :                                                                         { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
   52087             : #line 52088 "gram.c"
   52088         602 :     break;
   52089             : 
   52090          24 :   case 2326: /* trim_list: FROM expr_list  */
   52091             : #line 16893 "gram.y"
   52092             :                                                                                         { (yyval.list) = (yyvsp[0].list); }
   52093             : #line 52094 "gram.c"
   52094          24 :     break;
   52095             : 
   52096          86 :   case 2327: /* trim_list: expr_list  */
   52097             : #line 16894 "gram.y"
   52098             :                                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52099             : #line 52100 "gram.c"
   52100          86 :     break;
   52101             : 
   52102        5514 :   case 2328: /* in_expr: select_with_parens  */
   52103             : #line 16898 "gram.y"
   52104             :                                 {
   52105             :                     SubLink    *n = makeNode(SubLink);
   52106             : 
   52107             :                     n->subselect = (yyvsp[0].node);
   52108             :                     /* other fields will be filled later */
   52109             :                     (yyval.node) = (Node *) n;
   52110             :                 }
   52111             : #line 52112 "gram.c"
   52112        5514 :     break;
   52113             : 
   52114       21674 :   case 2329: /* in_expr: '(' expr_list ')'  */
   52115             : #line 16905 "gram.y"
   52116             :                                                                                         { (yyval.node) = (Node *) (yyvsp[-1].list); }
   52117             : #line 52118 "gram.c"
   52118       21674 :     break;
   52119             : 
   52120       39572 :   case 2330: /* case_expr: CASE case_arg when_clause_list case_default END_P  */
   52121             : #line 16916 "gram.y"
   52122             :                                 {
   52123             :                     CaseExpr   *c = makeNode(CaseExpr);
   52124             : 
   52125             :                     c->casetype = InvalidOid; /* not analyzed yet */
   52126             :                     c->arg = (Expr *) (yyvsp[-3].node);
   52127             :                     c->args = (yyvsp[-2].list);
   52128             :                     c->defresult = (Expr *) (yyvsp[-1].node);
   52129             :                     c->location = (yylsp[-4]);
   52130             :                     (yyval.node) = (Node *) c;
   52131             :                 }
   52132             : #line 52133 "gram.c"
   52133       39572 :     break;
   52134             : 
   52135       39572 :   case 2331: /* when_clause_list: when_clause  */
   52136             : #line 16930 "gram.y"
   52137             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52138             : #line 52139 "gram.c"
   52139       39572 :     break;
   52140             : 
   52141       28722 :   case 2332: /* when_clause_list: when_clause_list when_clause  */
   52142             : #line 16931 "gram.y"
   52143             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52144             : #line 52145 "gram.c"
   52145       28722 :     break;
   52146             : 
   52147       68294 :   case 2333: /* when_clause: WHEN a_expr THEN a_expr  */
   52148             : #line 16936 "gram.y"
   52149             :                                 {
   52150             :                     CaseWhen   *w = makeNode(CaseWhen);
   52151             : 
   52152             :                     w->expr = (Expr *) (yyvsp[-2].node);
   52153             :                     w->result = (Expr *) (yyvsp[0].node);
   52154             :                     w->location = (yylsp[-3]);
   52155             :                     (yyval.node) = (Node *) w;
   52156             :                 }
   52157             : #line 52158 "gram.c"
   52158       68294 :     break;
   52159             : 
   52160       30066 :   case 2334: /* case_default: ELSE a_expr  */
   52161             : #line 16947 "gram.y"
   52162             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52163             : #line 52164 "gram.c"
   52164       30066 :     break;
   52165             : 
   52166        9506 :   case 2335: /* case_default: %empty  */
   52167             : #line 16948 "gram.y"
   52168             :                                                                                                 { (yyval.node) = NULL; }
   52169             : #line 52170 "gram.c"
   52170        9506 :     break;
   52171             : 
   52172        6610 :   case 2336: /* case_arg: a_expr  */
   52173             : #line 16951 "gram.y"
   52174             :                                                                                         { (yyval.node) = (yyvsp[0].node); }
   52175             : #line 52176 "gram.c"
   52176        6610 :     break;
   52177             : 
   52178       32962 :   case 2337: /* case_arg: %empty  */
   52179             : #line 16952 "gram.y"
   52180             :                                                                                                 { (yyval.node) = NULL; }
   52181             : #line 52182 "gram.c"
   52182       32962 :     break;
   52183             : 
   52184      777326 :   case 2338: /* columnref: ColId  */
   52185             : #line 16956 "gram.y"
   52186             :                                 {
   52187             :                     (yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
   52188             :                 }
   52189             : #line 52190 "gram.c"
   52190      777326 :     break;
   52191             : 
   52192     1079926 :   case 2339: /* columnref: ColId indirection  */
   52193             : #line 16960 "gram.y"
   52194             :                                 {
   52195             :                     (yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   52196             :                 }
   52197             : #line 52198 "gram.c"
   52198     1079926 :     break;
   52199             : 
   52200     1473880 :   case 2340: /* indirection_el: '.' attr_name  */
   52201             : #line 16967 "gram.y"
   52202             :                                 {
   52203             :                     (yyval.node) = (Node *) makeString((yyvsp[0].str));
   52204             :                 }
   52205             : #line 52206 "gram.c"
   52206     1473880 :     break;
   52207             : 
   52208        6896 :   case 2341: /* indirection_el: '.' '*'  */
   52209             : #line 16971 "gram.y"
   52210             :                                 {
   52211             :                     (yyval.node) = (Node *) makeNode(A_Star);
   52212             :                 }
   52213             : #line 52214 "gram.c"
   52214        6896 :     break;
   52215             : 
   52216       13050 :   case 2342: /* indirection_el: '[' a_expr ']'  */
   52217             : #line 16975 "gram.y"
   52218             :                                 {
   52219             :                     A_Indices *ai = makeNode(A_Indices);
   52220             : 
   52221             :                     ai->is_slice = false;
   52222             :                     ai->lidx = NULL;
   52223             :                     ai->uidx = (yyvsp[-1].node);
   52224             :                     (yyval.node) = (Node *) ai;
   52225             :                 }
   52226             : #line 52227 "gram.c"
   52227       13050 :     break;
   52228             : 
   52229         588 :   case 2343: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']'  */
   52230             : #line 16984 "gram.y"
   52231             :                                 {
   52232             :                     A_Indices *ai = makeNode(A_Indices);
   52233             : 
   52234             :                     ai->is_slice = true;
   52235             :                     ai->lidx = (yyvsp[-3].node);
   52236             :                     ai->uidx = (yyvsp[-1].node);
   52237             :                     (yyval.node) = (Node *) ai;
   52238             :                 }
   52239             : #line 52240 "gram.c"
   52240         588 :     break;
   52241             : 
   52242         996 :   case 2344: /* opt_slice_bound: a_expr  */
   52243             : #line 16995 "gram.y"
   52244             :                                                                                                 { (yyval.node) = (yyvsp[0].node); }
   52245             : #line 52246 "gram.c"
   52246         996 :     break;
   52247             : 
   52248         180 :   case 2345: /* opt_slice_bound: %empty  */
   52249             : #line 16996 "gram.y"
   52250             :                                                                                                 { (yyval.node) = NULL; }
   52251             : #line 52252 "gram.c"
   52252         180 :     break;
   52253             : 
   52254     1474260 :   case 2346: /* indirection: indirection_el  */
   52255             : #line 17000 "gram.y"
   52256             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52257             : #line 52258 "gram.c"
   52258     1474260 :     break;
   52259             : 
   52260        3082 :   case 2347: /* indirection: indirection indirection_el  */
   52261             : #line 17001 "gram.y"
   52262             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52263             : #line 52264 "gram.c"
   52264        3082 :     break;
   52265             : 
   52266      196940 :   case 2348: /* opt_indirection: %empty  */
   52267             : #line 17005 "gram.y"
   52268             :                                                                                                 { (yyval.list) = NIL; }
   52269             : #line 52270 "gram.c"
   52270      196940 :     break;
   52271             : 
   52272       17072 :   case 2349: /* opt_indirection: opt_indirection indirection_el  */
   52273             : #line 17006 "gram.y"
   52274             :                                                                         { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
   52275             : #line 52276 "gram.c"
   52276       17072 :     break;
   52277             : 
   52278         336 :   case 2352: /* json_passing_clause_opt: PASSING json_arguments  */
   52279             : #line 17015 "gram.y"
   52280             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52281             : #line 52282 "gram.c"
   52282         336 :     break;
   52283             : 
   52284        1934 :   case 2353: /* json_passing_clause_opt: %empty  */
   52285             : #line 17016 "gram.y"
   52286             :                                                                                                 { (yyval.list) = NIL; }
   52287             : #line 52288 "gram.c"
   52288        1934 :     break;
   52289             : 
   52290         336 :   case 2354: /* json_arguments: json_argument  */
   52291             : #line 17020 "gram.y"
   52292             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].node)); }
   52293             : #line 52294 "gram.c"
   52294         336 :     break;
   52295             : 
   52296         126 :   case 2355: /* json_arguments: json_arguments ',' json_argument  */
   52297             : #line 17021 "gram.y"
   52298             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52299             : #line 52300 "gram.c"
   52300         126 :     break;
   52301             : 
   52302         462 :   case 2356: /* json_argument: json_value_expr AS ColLabel  */
   52303             : #line 17026 "gram.y"
   52304             :                         {
   52305             :                 JsonArgument *n = makeNode(JsonArgument);
   52306             : 
   52307             :                 n->val = (JsonValueExpr *) (yyvsp[-2].node);
   52308             :                 n->name = (yyvsp[0].str);
   52309             :                 (yyval.node) = (Node *) n;
   52310             :             }
   52311             : #line 52312 "gram.c"
   52312         462 :     break;
   52313             : 
   52314          42 :   case 2357: /* json_wrapper_behavior: WITHOUT WRAPPER  */
   52315             : #line 17037 "gram.y"
   52316             :                                                                                 { (yyval.ival) = JSW_NONE; }
   52317             : #line 52318 "gram.c"
   52318          42 :     break;
   52319             : 
   52320           0 :   case 2358: /* json_wrapper_behavior: WITHOUT ARRAY WRAPPER  */
   52321             : #line 17038 "gram.y"
   52322             :                                                                         { (yyval.ival) = JSW_NONE; }
   52323             : #line 52324 "gram.c"
   52324           0 :     break;
   52325             : 
   52326          78 :   case 2359: /* json_wrapper_behavior: WITH WRAPPER  */
   52327             : #line 17039 "gram.y"
   52328             :                                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52329             : #line 52330 "gram.c"
   52330          78 :     break;
   52331             : 
   52332          12 :   case 2360: /* json_wrapper_behavior: WITH ARRAY WRAPPER  */
   52333             : #line 17040 "gram.y"
   52334             :                                                                         { (yyval.ival) = JSW_UNCONDITIONAL; }
   52335             : #line 52336 "gram.c"
   52336          12 :     break;
   52337             : 
   52338           0 :   case 2361: /* json_wrapper_behavior: WITH CONDITIONAL ARRAY WRAPPER  */
   52339             : #line 17041 "gram.y"
   52340             :                                                                 { (yyval.ival) = JSW_CONDITIONAL; }
   52341             : #line 52342 "gram.c"
   52342           0 :     break;
   52343             : 
   52344          12 :   case 2362: /* json_wrapper_behavior: WITH UNCONDITIONAL ARRAY WRAPPER  */
   52345             : #line 17042 "gram.y"
   52346             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52347             : #line 52348 "gram.c"
   52348          12 :     break;
   52349             : 
   52350          36 :   case 2363: /* json_wrapper_behavior: WITH CONDITIONAL WRAPPER  */
   52351             : #line 17043 "gram.y"
   52352             :                                                                         { (yyval.ival) = JSW_CONDITIONAL; }
   52353             : #line 52354 "gram.c"
   52354          36 :     break;
   52355             : 
   52356           6 :   case 2364: /* json_wrapper_behavior: WITH UNCONDITIONAL WRAPPER  */
   52357             : #line 17044 "gram.y"
   52358             :                                                                 { (yyval.ival) = JSW_UNCONDITIONAL; }
   52359             : #line 52360 "gram.c"
   52360           6 :     break;
   52361             : 
   52362        1634 :   case 2365: /* json_wrapper_behavior: %empty  */
   52363             : #line 17045 "gram.y"
   52364             :                                                                                 { (yyval.ival) = JSW_UNSPEC; }
   52365             : #line 52366 "gram.c"
   52366        1634 :     break;
   52367             : 
   52368         384 :   case 2366: /* json_behavior: DEFAULT a_expr  */
   52369             : #line 17050 "gram.y"
   52370             :                                 { (yyval.node) = (Node *) makeJsonBehavior(JSON_BEHAVIOR_DEFAULT, (yyvsp[0].node), (yylsp[-1])); }
   52371             : #line 52372 "gram.c"
   52372         384 :     break;
   52373             : 
   52374         702 :   case 2367: /* json_behavior: json_behavior_type  */
   52375             : #line 17052 "gram.y"
   52376             :                                 { (yyval.node) = (Node *) makeJsonBehavior((yyvsp[0].ival), NULL, (yylsp[0])); }
   52377             : #line 52378 "gram.c"
   52378         702 :     break;
   52379             : 
   52380         492 :   case 2368: /* json_behavior_type: ERROR_P  */
   52381             : #line 17056 "gram.y"
   52382             :                                         { (yyval.ival) = JSON_BEHAVIOR_ERROR; }
   52383             : #line 52384 "gram.c"
   52384         492 :     break;
   52385             : 
   52386          30 :   case 2369: /* json_behavior_type: NULL_P  */
   52387             : #line 17057 "gram.y"
   52388             :                                         { (yyval.ival) = JSON_BEHAVIOR_NULL; }
   52389             : #line 52390 "gram.c"
   52390          30 :     break;
   52391             : 
   52392          30 :   case 2370: /* json_behavior_type: TRUE_P  */
   52393             : #line 17058 "gram.y"
   52394             :                                         { (yyval.ival) = JSON_BEHAVIOR_TRUE; }
   52395             : #line 52396 "gram.c"
   52396          30 :     break;
   52397             : 
   52398          12 :   case 2371: /* json_behavior_type: FALSE_P  */
   52399             : #line 17059 "gram.y"
   52400             :                                         { (yyval.ival) = JSON_BEHAVIOR_FALSE; }
   52401             : #line 52402 "gram.c"
   52402          12 :     break;
   52403             : 
   52404          12 :   case 2372: /* json_behavior_type: UNKNOWN  */
   52405             : #line 17060 "gram.y"
   52406             :                                         { (yyval.ival) = JSON_BEHAVIOR_UNKNOWN; }
   52407             : #line 52408 "gram.c"
   52408          12 :     break;
   52409             : 
   52410          30 :   case 2373: /* json_behavior_type: EMPTY_P ARRAY  */
   52411             : #line 17061 "gram.y"
   52412             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52413             : #line 52414 "gram.c"
   52414          30 :     break;
   52415             : 
   52416          72 :   case 2374: /* json_behavior_type: EMPTY_P OBJECT_P  */
   52417             : #line 17062 "gram.y"
   52418             :                                                 { (yyval.ival) = JSON_BEHAVIOR_EMPTY_OBJECT; }
   52419             : #line 52420 "gram.c"
   52420          72 :     break;
   52421             : 
   52422          24 :   case 2375: /* json_behavior_type: EMPTY_P  */
   52423             : #line 17064 "gram.y"
   52424             :                                         { (yyval.ival) = JSON_BEHAVIOR_EMPTY_ARRAY; }
   52425             : #line 52426 "gram.c"
   52426          24 :     break;
   52427             : 
   52428         174 :   case 2376: /* json_behavior_clause_opt: json_behavior ON EMPTY_P  */
   52429             : #line 17069 "gram.y"
   52430             :                                 { (yyval.list) = list_make2((yyvsp[-2].node), NULL); }
   52431             : #line 52432 "gram.c"
   52432         174 :     break;
   52433             : 
   52434         552 :   case 2377: /* json_behavior_clause_opt: json_behavior ON ERROR_P  */
   52435             : #line 17071 "gram.y"
   52436             :                                 { (yyval.list) = list_make2(NULL, (yyvsp[-2].node)); }
   52437             : #line 52438 "gram.c"
   52438         552 :     break;
   52439             : 
   52440         102 :   case 2378: /* json_behavior_clause_opt: json_behavior ON EMPTY_P json_behavior ON ERROR_P  */
   52441             : #line 17073 "gram.y"
   52442             :                                 { (yyval.list) = list_make2((yyvsp[-5].node), (yyvsp[-2].node)); }
   52443             : #line 52444 "gram.c"
   52444         102 :     break;
   52445             : 
   52446        1568 :   case 2379: /* json_behavior_clause_opt: %empty  */
   52447             : #line 17075 "gram.y"
   52448             :                                 { (yyval.list) = list_make2(NULL, NULL); }
   52449             : #line 52450 "gram.c"
   52450        1568 :     break;
   52451             : 
   52452         150 :   case 2380: /* json_on_error_clause_opt: json_behavior ON ERROR_P  */
   52453             : #line 17080 "gram.y"
   52454             :                                 { (yyval.node) = (yyvsp[-2].node); }
   52455             : #line 52456 "gram.c"
   52456         150 :     break;
   52457             : 
   52458         686 :   case 2381: /* json_on_error_clause_opt: %empty  */
   52459             : #line 17082 "gram.y"
   52460             :                                 { (yyval.node) = NULL; }
   52461             : #line 52462 "gram.c"
   52462         686 :     break;
   52463             : 
   52464        4202 :   case 2382: /* json_value_expr: a_expr json_format_clause_opt  */
   52465             : #line 17087 "gram.y"
   52466             :                         {
   52467             :                 /* formatted_expr will be set during parse-analysis. */
   52468             :                 (yyval.node) = (Node *) makeJsonValueExpr((Expr *) (yyvsp[-1].node), NULL,
   52469             :                                                 castNode(JsonFormat, (yyvsp[0].node)));
   52470             :             }
   52471             : #line 52472 "gram.c"
   52472        4202 :     break;
   52473             : 
   52474         100 :   case 2383: /* json_format_clause: FORMAT_LA JSON ENCODING name  */
   52475             : #line 17096 "gram.y"
   52476             :                                 {
   52477             :                     int     encoding;
   52478             : 
   52479             :                     if (!pg_strcasecmp((yyvsp[0].str), "utf8"))
   52480             :                         encoding = JS_ENC_UTF8;
   52481             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf16"))
   52482             :                         encoding = JS_ENC_UTF16;
   52483             :                     else if (!pg_strcasecmp((yyvsp[0].str), "utf32"))
   52484             :                         encoding = JS_ENC_UTF32;
   52485             :                     else
   52486             :                         ereport(ERROR,
   52487             :                                 (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   52488             :                                  errmsg("unrecognized JSON encoding: %s", (yyvsp[0].str)),
   52489             :                                  parser_errposition((yylsp[0]))));
   52490             : 
   52491             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, encoding, (yylsp[-3]));
   52492             :                 }
   52493             : #line 52494 "gram.c"
   52494          88 :     break;
   52495             : 
   52496         412 :   case 2384: /* json_format_clause: FORMAT_LA JSON  */
   52497             : #line 17114 "gram.y"
   52498             :                                 {
   52499             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_JSON, JS_ENC_DEFAULT, (yylsp[-1]));
   52500             :                 }
   52501             : #line 52502 "gram.c"
   52502         412 :     break;
   52503             : 
   52504         392 :   case 2385: /* json_format_clause_opt: json_format_clause  */
   52505             : #line 17121 "gram.y"
   52506             :                                 {
   52507             :                     (yyval.node) = (yyvsp[0].node);
   52508             :                 }
   52509             : #line 52510 "gram.c"
   52510         392 :     break;
   52511             : 
   52512        5314 :   case 2386: /* json_format_clause_opt: %empty  */
   52513             : #line 17125 "gram.y"
   52514             :                                 {
   52515             :                     (yyval.node) = (Node *) makeJsonFormat(JS_FORMAT_DEFAULT, JS_ENC_DEFAULT, -1);
   52516             :                 }
   52517             : #line 52518 "gram.c"
   52518        5314 :     break;
   52519             : 
   52520          12 :   case 2387: /* json_quotes_clause_opt: KEEP QUOTES ON SCALAR STRING_P  */
   52521             : #line 17131 "gram.y"
   52522             :                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52523             : #line 52524 "gram.c"
   52524          12 :     break;
   52525             : 
   52526          90 :   case 2388: /* json_quotes_clause_opt: KEEP QUOTES  */
   52527             : #line 17132 "gram.y"
   52528             :                                                                                 { (yyval.ival) = JS_QUOTES_KEEP; }
   52529             : #line 52530 "gram.c"
   52530          90 :     break;
   52531             : 
   52532          12 :   case 2389: /* json_quotes_clause_opt: OMIT QUOTES ON SCALAR STRING_P  */
   52533             : #line 17133 "gram.y"
   52534             :                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52535             : #line 52536 "gram.c"
   52536          12 :     break;
   52537             : 
   52538         168 :   case 2390: /* json_quotes_clause_opt: OMIT QUOTES  */
   52539             : #line 17134 "gram.y"
   52540             :                                                                                 { (yyval.ival) = JS_QUOTES_OMIT; }
   52541             : #line 52542 "gram.c"
   52542         168 :     break;
   52543             : 
   52544        1538 :   case 2391: /* json_quotes_clause_opt: %empty  */
   52545             : #line 17135 "gram.y"
   52546             :                                                                                 { (yyval.ival) = JS_QUOTES_UNSPEC; }
   52547             : #line 52548 "gram.c"
   52548        1538 :     break;
   52549             : 
   52550        1444 :   case 2392: /* json_returning_clause_opt: RETURNING Typename json_format_clause_opt  */
   52551             : #line 17140 "gram.y"
   52552             :                                 {
   52553             :                     JsonOutput *n = makeNode(JsonOutput);
   52554             : 
   52555             :                     n->typeName = (yyvsp[-1].typnam);
   52556             :                     n->returning = makeNode(JsonReturning);
   52557             :                     n->returning->format = (JsonFormat *) (yyvsp[0].node);
   52558             :                     (yyval.node) = (Node *) n;
   52559             :                 }
   52560             : #line 52561 "gram.c"
   52561        1444 :     break;
   52562             : 
   52563        1278 :   case 2393: /* json_returning_clause_opt: %empty  */
   52564             : #line 17148 "gram.y"
   52565             :                                                                                         { (yyval.node) = NULL; }
   52566             : #line 52567 "gram.c"
   52567        1278 :     break;
   52568             : 
   52569         202 :   case 2394: /* json_predicate_type_constraint: JSON  */
   52570             : #line 17162 "gram.y"
   52571             :                                                                                 { (yyval.ival) = JS_TYPE_ANY; }
   52572             : #line 52573 "gram.c"
   52573         202 :     break;
   52574             : 
   52575          28 :   case 2395: /* json_predicate_type_constraint: JSON VALUE_P  */
   52576             : #line 17163 "gram.y"
   52577             :                                                                                         { (yyval.ival) = JS_TYPE_ANY; }
   52578             : #line 52579 "gram.c"
   52579          28 :     break;
   52580             : 
   52581          40 :   case 2396: /* json_predicate_type_constraint: JSON ARRAY  */
   52582             : #line 17164 "gram.y"
   52583             :                                                                                         { (yyval.ival) = JS_TYPE_ARRAY; }
   52584             : #line 52585 "gram.c"
   52585          40 :     break;
   52586             : 
   52587          40 :   case 2397: /* json_predicate_type_constraint: JSON OBJECT_P  */
   52588             : #line 17165 "gram.y"
   52589             :                                                                                         { (yyval.ival) = JS_TYPE_OBJECT; }
   52590             : #line 52591 "gram.c"
   52591          40 :     break;
   52592             : 
   52593          40 :   case 2398: /* json_predicate_type_constraint: JSON SCALAR  */
   52594             : #line 17166 "gram.y"
   52595             :                                                                                         { (yyval.ival) = JS_TYPE_SCALAR; }
   52596             : #line 52597 "gram.c"
   52597          40 :     break;
   52598             : 
   52599         108 :   case 2399: /* json_key_uniqueness_constraint_opt: WITH UNIQUE KEYS  */
   52600             : #line 17175 "gram.y"
   52601             :                                                                                                 { (yyval.boolean) = true; }
   52602             : #line 52603 "gram.c"
   52603         108 :     break;
   52604             : 
   52605         100 :   case 2400: /* json_key_uniqueness_constraint_opt: WITH UNIQUE  */
   52606             : #line 17176 "gram.y"
   52607             :                                                                                 { (yyval.boolean) = true; }
   52608             : #line 52609 "gram.c"
   52609         100 :     break;
   52610             : 
   52611          44 :   case 2401: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE KEYS  */
   52612             : #line 17177 "gram.y"
   52613             :                                                                                         { (yyval.boolean) = false; }
   52614             : #line 52615 "gram.c"
   52615          44 :     break;
   52616             : 
   52617          16 :   case 2402: /* json_key_uniqueness_constraint_opt: WITHOUT UNIQUE  */
   52618             : #line 17178 "gram.y"
   52619             :                                                                                 { (yyval.boolean) = false; }
   52620             : #line 52621 "gram.c"
   52621          16 :     break;
   52622             : 
   52623         798 :   case 2403: /* json_key_uniqueness_constraint_opt: %empty  */
   52624             : #line 17179 "gram.y"
   52625             :                                                                                 { (yyval.boolean) = false; }
   52626             : #line 52627 "gram.c"
   52627         798 :     break;
   52628             : 
   52629         348 :   case 2404: /* json_name_and_value_list: json_name_and_value  */
   52630             : #line 17184 "gram.y"
   52631             :                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52632             : #line 52633 "gram.c"
   52633         348 :     break;
   52634             : 
   52635         256 :   case 2405: /* json_name_and_value_list: json_name_and_value_list ',' json_name_and_value  */
   52636             : #line 17186 "gram.y"
   52637             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
   52638             : #line 52639 "gram.c"
   52639         256 :     break;
   52640             : 
   52641          24 :   case 2406: /* json_name_and_value: c_expr VALUE_P json_value_expr  */
   52642             : #line 17196 "gram.y"
   52643             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52644             : #line 52645 "gram.c"
   52645          24 :     break;
   52646             : 
   52647         784 :   case 2407: /* json_name_and_value: a_expr ':' json_value_expr  */
   52648             : #line 17199 "gram.y"
   52649             :                                 { (yyval.node) = makeJsonKeyValue((yyvsp[-2].node), (yyvsp[0].node)); }
   52650             : #line 52651 "gram.c"
   52651         784 :     break;
   52652             : 
   52653          30 :   case 2408: /* json_object_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52654             : #line 17204 "gram.y"
   52655             :                                                                                 { (yyval.boolean) = false; }
   52656             : #line 52657 "gram.c"
   52657          30 :     break;
   52658             : 
   52659         110 :   case 2409: /* json_object_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52660             : #line 17205 "gram.y"
   52661             :                                                                                 { (yyval.boolean) = true; }
   52662             : #line 52663 "gram.c"
   52663         110 :     break;
   52664             : 
   52665         412 :   case 2410: /* json_object_constructor_null_clause_opt: %empty  */
   52666             : #line 17206 "gram.y"
   52667             :                                                                                 { (yyval.boolean) = false; }
   52668             : #line 52669 "gram.c"
   52669         412 :     break;
   52670             : 
   52671          60 :   case 2411: /* json_array_constructor_null_clause_opt: NULL_P ON NULL_P  */
   52672             : #line 17210 "gram.y"
   52673             :                                                                                         { (yyval.boolean) = false; }
   52674             : #line 52675 "gram.c"
   52675          60 :     break;
   52676             : 
   52677          36 :   case 2412: /* json_array_constructor_null_clause_opt: ABSENT ON NULL_P  */
   52678             : #line 17211 "gram.y"
   52679             :                                                                                         { (yyval.boolean) = true; }
   52680             : #line 52681 "gram.c"
   52681          36 :     break;
   52682             : 
   52683         168 :   case 2413: /* json_array_constructor_null_clause_opt: %empty  */
   52684             : #line 17212 "gram.y"
   52685             :                                                                                         { (yyval.boolean) = true; }
   52686             : #line 52687 "gram.c"
   52687         168 :     break;
   52688             : 
   52689         108 :   case 2414: /* json_value_expr_list: json_value_expr  */
   52690             : #line 17216 "gram.y"
   52691             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].node)); }
   52692             : #line 52693 "gram.c"
   52693         108 :     break;
   52694             : 
   52695         126 :   case 2415: /* json_value_expr_list: json_value_expr_list ',' json_value_expr  */
   52696             : #line 17217 "gram.y"
   52697             :                                                                         { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));}
   52698             : #line 52699 "gram.c"
   52699         126 :     break;
   52700             : 
   52701         204 :   case 2416: /* json_aggregate_func: JSON_OBJECTAGG '(' json_name_and_value json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_returning_clause_opt ')'  */
   52702             : #line 17227 "gram.y"
   52703             :                                 {
   52704             :                     JsonObjectAgg *n = makeNode(JsonObjectAgg);
   52705             : 
   52706             :                     n->arg = (JsonKeyValue *) (yyvsp[-4].node);
   52707             :                     n->absent_on_null = (yyvsp[-3].boolean);
   52708             :                     n->unique = (yyvsp[-2].boolean);
   52709             :                     n->constructor = makeNode(JsonAggConstructor);
   52710             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52711             :                     n->constructor->agg_order = NULL;
   52712             :                     n->constructor->location = (yylsp[-6]);
   52713             :                     (yyval.node) = (Node *) n;
   52714             :                 }
   52715             : #line 52716 "gram.c"
   52716         204 :     break;
   52717             : 
   52718         156 :   case 2417: /* json_aggregate_func: JSON_ARRAYAGG '(' json_value_expr json_array_aggregate_order_by_clause_opt json_array_constructor_null_clause_opt json_returning_clause_opt ')'  */
   52719             : #line 17245 "gram.y"
   52720             :                                 {
   52721             :                     JsonArrayAgg *n = makeNode(JsonArrayAgg);
   52722             : 
   52723             :                     n->arg = (JsonValueExpr *) (yyvsp[-4].node);
   52724             :                     n->absent_on_null = (yyvsp[-2].boolean);
   52725             :                     n->constructor = makeNode(JsonAggConstructor);
   52726             :                     n->constructor->agg_order = (yyvsp[-3].list);
   52727             :                     n->constructor->output = (JsonOutput *) (yyvsp[-1].node);
   52728             :                     n->constructor->location = (yylsp[-6]);
   52729             :                     (yyval.node) = (Node *) n;
   52730             :                 }
   52731             : #line 52732 "gram.c"
   52732         156 :     break;
   52733             : 
   52734          18 :   case 2418: /* json_array_aggregate_order_by_clause_opt: ORDER BY sortby_list  */
   52735             : #line 17259 "gram.y"
   52736             :                                                                                 { (yyval.list) = (yyvsp[0].list); }
   52737             : #line 52738 "gram.c"
   52738          18 :     break;
   52739             : 
   52740         138 :   case 2419: /* json_array_aggregate_order_by_clause_opt: %empty  */
   52741             : #line 17260 "gram.y"
   52742             :                                                                                         { (yyval.list) = NIL; }
   52743             : #line 52744 "gram.c"
   52744         138 :     break;
   52745             : 
   52746      473650 :   case 2420: /* opt_target_list: target_list  */
   52747             : #line 17269 "gram.y"
   52748             :                                                                         { (yyval.list) = (yyvsp[0].list); }
   52749             : #line 52750 "gram.c"
   52750      473650 :     break;
   52751             : 
   52752         464 :   case 2421: /* opt_target_list: %empty  */
   52753             : #line 17270 "gram.y"
   52754             :                                                                                         { (yyval.list) = NIL; }
   52755             : #line 52756 "gram.c"
   52756         464 :     break;
   52757             : 
   52758      480516 :   case 2422: /* target_list: target_el  */
   52759             : #line 17274 "gram.y"
   52760             :                                                                                                 { (yyval.list) = list_make1((yyvsp[0].target)); }
   52761             : #line 52762 "gram.c"
   52762      480514 :     break;
   52763             : 
   52764      704712 :   case 2423: /* target_list: target_list ',' target_el  */
   52765             : #line 17275 "gram.y"
   52766             :                                                                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
   52767             : #line 52768 "gram.c"
   52768      704712 :     break;
   52769             : 
   52770      240472 :   case 2424: /* target_el: a_expr AS ColLabel  */
   52771             : #line 17279 "gram.y"
   52772             :                                 {
   52773             :                     (yyval.target) = makeNode(ResTarget);
   52774             :                     (yyval.target)->name = (yyvsp[0].str);
   52775             :                     (yyval.target)->indirection = NIL;
   52776             :                     (yyval.target)->val = (Node *) (yyvsp[-2].node);
   52777             :                     (yyval.target)->location = (yylsp[-2]);
   52778             :                 }
   52779             : #line 52780 "gram.c"
   52780      240472 :     break;
   52781             : 
   52782        3622 :   case 2425: /* target_el: a_expr BareColLabel  */
   52783             : #line 17287 "gram.y"
   52784             :                                 {
   52785             :                     (yyval.target) = makeNode(ResTarget);
   52786             :                     (yyval.target)->name = (yyvsp[0].str);
   52787             :                     (yyval.target)->indirection = NIL;
   52788             :                     (yyval.target)->val = (Node *) (yyvsp[-1].node);
   52789             :                     (yyval.target)->location = (yylsp[-1]);
   52790             :                 }
   52791             : #line 52792 "gram.c"
   52792        3622 :     break;
   52793             : 
   52794      885760 :   case 2426: /* target_el: a_expr  */
   52795             : #line 17295 "gram.y"
   52796             :                                 {
   52797             :                     (yyval.target) = makeNode(ResTarget);
   52798             :                     (yyval.target)->name = NULL;
   52799             :                     (yyval.target)->indirection = NIL;
   52800             :                     (yyval.target)->val = (Node *) (yyvsp[0].node);
   52801             :                     (yyval.target)->location = (yylsp[0]);
   52802             :                 }
   52803             : #line 52804 "gram.c"
   52804      885758 :     break;
   52805             : 
   52806       55374 :   case 2427: /* target_el: '*'  */
   52807             : #line 17303 "gram.y"
   52808             :                                 {
   52809             :                     ColumnRef  *n = makeNode(ColumnRef);
   52810             : 
   52811             :                     n->fields = list_make1(makeNode(A_Star));
   52812             :                     n->location = (yylsp[0]);
   52813             : 
   52814             :                     (yyval.target) = makeNode(ResTarget);
   52815             :                     (yyval.target)->name = NULL;
   52816             :                     (yyval.target)->indirection = NIL;
   52817             :                     (yyval.target)->val = (Node *) n;
   52818             :                     (yyval.target)->location = (yylsp[0]);
   52819             :                 }
   52820             : #line 52821 "gram.c"
   52821       55374 :     break;
   52822             : 
   52823       17200 :   case 2428: /* qualified_name_list: qualified_name  */
   52824             : #line 17325 "gram.y"
   52825             :                                                                                         { (yyval.list) = list_make1((yyvsp[0].range)); }
   52826             : #line 52827 "gram.c"
   52827       17200 :     break;
   52828             : 
   52829         466 :   case 2429: /* qualified_name_list: qualified_name_list ',' qualified_name  */
   52830             : #line 17326 "gram.y"
   52831             :                                                                  { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
   52832             : #line 52833 "gram.c"
   52833         466 :     break;
   52834             : 
   52835      422136 :   case 2430: /* qualified_name: ColId  */
   52836             : #line 17338 "gram.y"
   52837             :                                 {
   52838             :                     (yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
   52839             :                 }
   52840             : #line 52841 "gram.c"
   52841      422136 :     break;
   52842             : 
   52843      263470 :   case 2431: /* qualified_name: ColId indirection  */
   52844             : #line 17342 "gram.y"
   52845             :                                 {
   52846             :                     (yyval.range) = makeRangeVarFromQualifiedName((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
   52847             :                 }
   52848             : #line 52849 "gram.c"
   52849      263470 :     break;
   52850             : 
   52851       28664 :   case 2432: /* name_list: name  */
   52852             : #line 17348 "gram.y"
   52853             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   52854             : #line 52855 "gram.c"
   52855       28664 :     break;
   52856             : 
   52857       60252 :   case 2433: /* name_list: name_list ',' name  */
   52858             : #line 17350 "gram.y"
   52859             :                                         { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
   52860             : #line 52861 "gram.c"
   52861       60252 :     break;
   52862             : 
   52863      178932 :   case 2434: /* name: ColId  */
   52864             : #line 17354 "gram.y"
   52865             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52866             : #line 52867 "gram.c"
   52867      178932 :     break;
   52868             : 
   52869     1603850 :   case 2435: /* attr_name: ColLabel  */
   52870             : #line 17356 "gram.y"
   52871             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52872             : #line 52873 "gram.c"
   52873     1603850 :     break;
   52874             : 
   52875          52 :   case 2436: /* file_name: Sconst  */
   52876             : #line 17358 "gram.y"
   52877             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   52878             : #line 52879 "gram.c"
   52879          52 :     break;
   52880             : 
   52881      291162 :   case 2437: /* func_name: type_function_name  */
   52882             : #line 17369 "gram.y"
   52883             :                                         { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
   52884             : #line 52885 "gram.c"
   52885      291158 :     break;
   52886             : 
   52887      130786 :   case 2438: /* func_name: ColId indirection  */
   52888             : #line 17371 "gram.y"
   52889             :                                         {
   52890             :                         (yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
   52891             :                                              yyscanner);
   52892             :                     }
   52893             : #line 52894 "gram.c"
   52894      130786 :     break;
   52895             : 
   52896      376250 :   case 2439: /* AexprConst: Iconst  */
   52897             : #line 17382 "gram.y"
   52898             :                                 {
   52899             :                     (yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
   52900             :                 }
   52901             : #line 52902 "gram.c"
   52902      376248 :     break;
   52903             : 
   52904       11366 :   case 2440: /* AexprConst: FCONST  */
   52905             : #line 17386 "gram.y"
   52906             :                                 {
   52907             :                     (yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
   52908             :                 }
   52909             : #line 52910 "gram.c"
   52910       11366 :     break;
   52911             : 
   52912      706760 :   case 2441: /* AexprConst: Sconst  */
   52913             : #line 17390 "gram.y"
   52914             :                                 {
   52915             :                     (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
   52916             :                 }
   52917             : #line 52918 "gram.c"
   52918      706754 :     break;
   52919             : 
   52920         754 :   case 2442: /* AexprConst: BCONST  */
   52921             : #line 17394 "gram.y"
   52922             :                                 {
   52923             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   52924             :                 }
   52925             : #line 52926 "gram.c"
   52926         754 :     break;
   52927             : 
   52928        3302 :   case 2443: /* AexprConst: XCONST  */
   52929             : #line 17398 "gram.y"
   52930             :                                 {
   52931             :                     /* This is a bit constant per SQL99:
   52932             :                      * Without Feature F511, "BIT data type",
   52933             :                      * a <general literal> shall not be a
   52934             :                      * <bit string literal> or a <hex string literal>.
   52935             :                      */
   52936             :                     (yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
   52937             :                 }
   52938             : #line 52939 "gram.c"
   52939        3302 :     break;
   52940             : 
   52941        9836 :   case 2444: /* AexprConst: func_name Sconst  */
   52942             : #line 17407 "gram.y"
   52943             :                                 {
   52944             :                     /* generic type 'literal' syntax */
   52945             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-1].list));
   52946             : 
   52947             :                     t->location = (yylsp[-1]);
   52948             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   52949             :                 }
   52950             : #line 52951 "gram.c"
   52951        9836 :     break;
   52952             : 
   52953           0 :   case 2445: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' Sconst  */
   52954             : #line 17415 "gram.y"
   52955             :                                 {
   52956             :                     /* generic syntax with a type modifier */
   52957             :                     TypeName   *t = makeTypeNameFromNameList((yyvsp[-5].list));
   52958             :                     ListCell   *lc;
   52959             : 
   52960             :                     /*
   52961             :                      * We must use func_arg_list and opt_sort_clause in the
   52962             :                      * production to avoid reduce/reduce conflicts, but we
   52963             :                      * don't actually wish to allow NamedArgExpr in this
   52964             :                      * context, nor ORDER BY.
   52965             :                      */
   52966             :                     foreach(lc, (yyvsp[-3].list))
   52967             :                     {
   52968             :                         NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
   52969             : 
   52970             :                         if (IsA(arg, NamedArgExpr))
   52971             :                             ereport(ERROR,
   52972             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   52973             :                                      errmsg("type modifier cannot have parameter name"),
   52974             :                                      parser_errposition(arg->location)));
   52975             :                     }
   52976             :                     if ((yyvsp[-2].list) != NIL)
   52977             :                             ereport(ERROR,
   52978             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   52979             :                                      errmsg("type modifier cannot have ORDER BY"),
   52980             :                                      parser_errposition((yylsp[-2]))));
   52981             : 
   52982             :                     t->typmods = (yyvsp[-3].list);
   52983             :                     t->location = (yylsp[-5]);
   52984             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   52985             :                 }
   52986             : #line 52987 "gram.c"
   52987           0 :     break;
   52988             : 
   52989        3126 :   case 2446: /* AexprConst: ConstTypename Sconst  */
   52990             : #line 17447 "gram.y"
   52991             :                                 {
   52992             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
   52993             :                 }
   52994             : #line 52995 "gram.c"
   52995        3126 :     break;
   52996             : 
   52997        3298 :   case 2447: /* AexprConst: ConstInterval Sconst opt_interval  */
   52998             : #line 17451 "gram.y"
   52999             :                                 {
   53000             :                     TypeName   *t = (yyvsp[-2].typnam);
   53001             : 
   53002             :                     t->typmods = (yyvsp[0].list);
   53003             :                     (yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
   53004             :                 }
   53005             : #line 53006 "gram.c"
   53006        3298 :     break;
   53007             : 
   53008          12 :   case 2448: /* AexprConst: ConstInterval '(' Iconst ')' Sconst  */
   53009             : #line 17458 "gram.y"
   53010             :                                 {
   53011             :                     TypeName   *t = (yyvsp[-4].typnam);
   53012             : 
   53013             :                     t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
   53014             :                                             makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
   53015             :                     (yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
   53016             :                 }
   53017             : #line 53018 "gram.c"
   53018          12 :     break;
   53019             : 
   53020       30884 :   case 2449: /* AexprConst: TRUE_P  */
   53021             : #line 17466 "gram.y"
   53022             :                                 {
   53023             :                     (yyval.node) = makeBoolAConst(true, (yylsp[0]));
   53024             :                 }
   53025             : #line 53026 "gram.c"
   53026       30882 :     break;
   53027             : 
   53028       36016 :   case 2450: /* AexprConst: FALSE_P  */
   53029             : #line 17470 "gram.y"
   53030             :                                 {
   53031             :                     (yyval.node) = makeBoolAConst(false, (yylsp[0]));
   53032             :                 }
   53033             : #line 53034 "gram.c"
   53034       36016 :     break;
   53035             : 
   53036       67148 :   case 2451: /* AexprConst: NULL_P  */
   53037             : #line 17474 "gram.y"
   53038             :                                 {
   53039             :                     (yyval.node) = makeNullAConst((yylsp[0]));
   53040             :                 }
   53041             : #line 53042 "gram.c"
   53042       67148 :     break;
   53043             : 
   53044      402354 :   case 2452: /* Iconst: ICONST  */
   53045             : #line 17479 "gram.y"
   53046             :                                                                                         { (yyval.ival) = (yyvsp[0].ival); }
   53047             : #line 53048 "gram.c"
   53048      402354 :     break;
   53049             : 
   53050      778666 :   case 2453: /* Sconst: SCONST  */
   53051             : #line 17480 "gram.y"
   53052             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53053             : #line 53054 "gram.c"
   53054      778666 :     break;
   53055             : 
   53056       17860 :   case 2454: /* SignedIconst: Iconst  */
   53057             : #line 17482 "gram.y"
   53058             :                                                                                 { (yyval.ival) = (yyvsp[0].ival); }
   53059             : #line 53060 "gram.c"
   53060       17860 :     break;
   53061             : 
   53062           0 :   case 2455: /* SignedIconst: '+' Iconst  */
   53063             : #line 17483 "gram.y"
   53064             :                                                                                         { (yyval.ival) = + (yyvsp[0].ival); }
   53065             : #line 53066 "gram.c"
   53066           0 :     break;
   53067             : 
   53068         290 :   case 2456: /* SignedIconst: '-' Iconst  */
   53069             : #line 17484 "gram.y"
   53070             :                                                                                         { (yyval.ival) = - (yyvsp[0].ival); }
   53071             : #line 53072 "gram.c"
   53072         290 :     break;
   53073             : 
   53074        1914 :   case 2457: /* RoleId: RoleSpec  */
   53075             : #line 17489 "gram.y"
   53076             :                                 {
   53077             :                     RoleSpec   *spc = (RoleSpec *) (yyvsp[0].rolespec);
   53078             : 
   53079             :                     switch (spc->roletype)
   53080             :                     {
   53081             :                         case ROLESPEC_CSTRING:
   53082             :                             (yyval.str) = spc->rolename;
   53083             :                             break;
   53084             :                         case ROLESPEC_PUBLIC:
   53085             :                             ereport(ERROR,
   53086             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53087             :                                      errmsg("role name \"%s\" is reserved",
   53088             :                                             "public"),
   53089             :                                      parser_errposition((yylsp[0]))));
   53090             :                             break;
   53091             :                         case ROLESPEC_SESSION_USER:
   53092             :                             ereport(ERROR,
   53093             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53094             :                                      errmsg("%s cannot be used as a role name here",
   53095             :                                             "SESSION_USER"),
   53096             :                                      parser_errposition((yylsp[0]))));
   53097             :                             break;
   53098             :                         case ROLESPEC_CURRENT_USER:
   53099             :                             ereport(ERROR,
   53100             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53101             :                                      errmsg("%s cannot be used as a role name here",
   53102             :                                             "CURRENT_USER"),
   53103             :                                      parser_errposition((yylsp[0]))));
   53104             :                             break;
   53105             :                         case ROLESPEC_CURRENT_ROLE:
   53106             :                             ereport(ERROR,
   53107             :                                     (errcode(ERRCODE_RESERVED_NAME),
   53108             :                                      errmsg("%s cannot be used as a role name here",
   53109             :                                             "CURRENT_ROLE"),
   53110             :                                      parser_errposition((yylsp[0]))));
   53111             :                             break;
   53112             :                     }
   53113             :                 }
   53114             : #line 53115 "gram.c"
   53115        1904 :     break;
   53116             : 
   53117       34170 :   case 2458: /* RoleSpec: NonReservedWord  */
   53118             : #line 17530 "gram.y"
   53119             :                                 {
   53120             :                     /*
   53121             :                      * "public" and "none" are not keywords, but they must
   53122             :                      * be treated specially here.
   53123             :                      */
   53124             :                     RoleSpec   *n;
   53125             : 
   53126             :                     if (strcmp((yyvsp[0].str), "public") == 0)
   53127             :                     {
   53128             :                         n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
   53129             :                         n->roletype = ROLESPEC_PUBLIC;
   53130             :                     }
   53131             :                     else if (strcmp((yyvsp[0].str), "none") == 0)
   53132             :                     {
   53133             :                         ereport(ERROR,
   53134             :                                 (errcode(ERRCODE_RESERVED_NAME),
   53135             :                                  errmsg("role name \"%s\" is reserved",
   53136             :                                         "none"),
   53137             :                                  parser_errposition((yylsp[0]))));
   53138             :                     }
   53139             :                     else
   53140             :                     {
   53141             :                         n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
   53142             :                         n->rolename = pstrdup((yyvsp[0].str));
   53143             :                     }
   53144             :                     (yyval.rolespec) = n;
   53145             :                 }
   53146             : #line 53147 "gram.c"
   53147       34144 :     break;
   53148             : 
   53149         130 :   case 2459: /* RoleSpec: CURRENT_ROLE  */
   53150             : #line 17558 "gram.y"
   53151             :                                 {
   53152             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[0]));
   53153             :                 }
   53154             : #line 53155 "gram.c"
   53155         130 :     break;
   53156             : 
   53157         228 :   case 2460: /* RoleSpec: CURRENT_USER  */
   53158             : #line 17562 "gram.y"
   53159             :                                 {
   53160             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
   53161             :                 }
   53162             : #line 53163 "gram.c"
   53163         228 :     break;
   53164             : 
   53165          36 :   case 2461: /* RoleSpec: SESSION_USER  */
   53166             : #line 17566 "gram.y"
   53167             :                                 {
   53168             :                     (yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
   53169             :                 }
   53170             : #line 53171 "gram.c"
   53171          36 :     break;
   53172             : 
   53173        3240 :   case 2462: /* role_list: RoleSpec  */
   53174             : #line 17572 "gram.y"
   53175             :                                 { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
   53176             : #line 53177 "gram.c"
   53177        3240 :     break;
   53178             : 
   53179         270 :   case 2463: /* role_list: role_list ',' RoleSpec  */
   53180             : #line 17574 "gram.y"
   53181             :                                 { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
   53182             : #line 53183 "gram.c"
   53183         270 :     break;
   53184             : 
   53185       40154 :   case 2464: /* 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  */
   53186             : #line 17591 "gram.y"
   53187             :                                 {
   53188             :                     SelectStmt *n = makeNode(SelectStmt);
   53189             : 
   53190             :                     n->distinctClause = (yyvsp[-9].list);
   53191             :                     n->targetList = (yyvsp[-8].list);
   53192             :                     n->fromClause = (yyvsp[-7].list);
   53193             :                     n->whereClause = (yyvsp[-6].node);
   53194             :                     n->groupClause = ((yyvsp[-5].groupclause))->list;
   53195             :                     n->groupDistinct = ((yyvsp[-5].groupclause))->distinct;
   53196             :                     n->havingClause = (yyvsp[-4].node);
   53197             :                     n->windowClause = (yyvsp[-3].list);
   53198             :                     n->sortClause = (yyvsp[-2].list);
   53199             :                     if ((yyvsp[-1].selectlimit))
   53200             :                     {
   53201             :                         n->limitOffset = (yyvsp[-1].selectlimit)->limitOffset;
   53202             :                         n->limitCount = (yyvsp[-1].selectlimit)->limitCount;
   53203             :                         if (!n->sortClause &&
   53204             :                             (yyvsp[-1].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
   53205             :                             ereport(ERROR,
   53206             :                                     (errcode(ERRCODE_SYNTAX_ERROR),
   53207             :                                      errmsg("WITH TIES cannot be specified without ORDER BY clause"),
   53208             :                                      parser_errposition((yyvsp[-1].selectlimit)->optionLoc)));
   53209             :                         n->limitOption = (yyvsp[-1].selectlimit)->limitOption;
   53210             :                     }
   53211             :                     n->lockingClause = (yyvsp[0].list);
   53212             :                     (yyval.node) = (Node *) n;
   53213             :                 }
   53214             : #line 53215 "gram.c"
   53215       40154 :     break;
   53216             : 
   53217        7026 :   case 2465: /* PLAssignStmt: plassign_target opt_indirection plassign_equals PLpgSQL_Expr  */
   53218             : #line 17625 "gram.y"
   53219             :                                 {
   53220             :                     PLAssignStmt *n = makeNode(PLAssignStmt);
   53221             : 
   53222             :                     n->name = (yyvsp[-3].str);
   53223             :                     n->indirection = check_indirection((yyvsp[-2].list), yyscanner);
   53224             :                     /* nnames will be filled by calling production */
   53225             :                     n->val = (SelectStmt *) (yyvsp[0].node);
   53226             :                     n->location = (yylsp[-3]);
   53227             :                     (yyval.node) = (Node *) n;
   53228             :                 }
   53229             : #line 53230 "gram.c"
   53230        6928 :     break;
   53231             : 
   53232        7002 :   case 2466: /* plassign_target: ColId  */
   53233             : #line 17637 "gram.y"
   53234             :                                                                         { (yyval.str) = (yyvsp[0].str); }
   53235             : #line 53236 "gram.c"
   53236        7002 :     break;
   53237             : 
   53238          24 :   case 2467: /* plassign_target: PARAM  */
   53239             : #line 17638 "gram.y"
   53240             :                                                                                         { (yyval.str) = psprintf("$%d", (yyvsp[0].ival)); }
   53241             : #line 53242 "gram.c"
   53242          24 :     break;
   53243             : 
   53244     3466694 :   case 2470: /* ColId: IDENT  */
   53245             : #line 17659 "gram.y"
   53246             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53247             : #line 53248 "gram.c"
   53248     3466694 :     break;
   53249             : 
   53250       59372 :   case 2471: /* ColId: unreserved_keyword  */
   53251             : #line 17660 "gram.y"
   53252             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53253             : #line 53254 "gram.c"
   53254       59372 :     break;
   53255             : 
   53256        6054 :   case 2472: /* ColId: col_name_keyword  */
   53257             : #line 17661 "gram.y"
   53258             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53259             : #line 53260 "gram.c"
   53260        6054 :     break;
   53261             : 
   53262      699392 :   case 2473: /* type_function_name: IDENT  */
   53263             : #line 17666 "gram.y"
   53264             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53265             : #line 53266 "gram.c"
   53266      699392 :     break;
   53267             : 
   53268       74500 :   case 2474: /* type_function_name: unreserved_keyword  */
   53269             : #line 17667 "gram.y"
   53270             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53271             : #line 53272 "gram.c"
   53272       74500 :     break;
   53273             : 
   53274          66 :   case 2475: /* type_function_name: type_func_name_keyword  */
   53275             : #line 17668 "gram.y"
   53276             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53277             : #line 53278 "gram.c"
   53278          66 :     break;
   53279             : 
   53280       83540 :   case 2476: /* NonReservedWord: IDENT  */
   53281             : #line 17673 "gram.y"
   53282             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53283             : #line 53284 "gram.c"
   53284       83540 :     break;
   53285             : 
   53286       30010 :   case 2477: /* NonReservedWord: unreserved_keyword  */
   53287             : #line 17674 "gram.y"
   53288             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53289             : #line 53290 "gram.c"
   53290       30010 :     break;
   53291             : 
   53292         178 :   case 2478: /* NonReservedWord: col_name_keyword  */
   53293             : #line 17675 "gram.y"
   53294             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53295             : #line 53296 "gram.c"
   53296         178 :     break;
   53297             : 
   53298        5182 :   case 2479: /* NonReservedWord: type_func_name_keyword  */
   53299             : #line 17676 "gram.y"
   53300             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53301             : #line 53302 "gram.c"
   53302        5182 :     break;
   53303             : 
   53304     1828294 :   case 2480: /* ColLabel: IDENT  */
   53305             : #line 17682 "gram.y"
   53306             :                                                                                         { (yyval.str) = (yyvsp[0].str); }
   53307             : #line 53308 "gram.c"
   53308     1828294 :     break;
   53309             : 
   53310       39864 :   case 2481: /* ColLabel: unreserved_keyword  */
   53311             : #line 17683 "gram.y"
   53312             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53313             : #line 53314 "gram.c"
   53314       39864 :     break;
   53315             : 
   53316         284 :   case 2482: /* ColLabel: col_name_keyword  */
   53317             : #line 17684 "gram.y"
   53318             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53319             : #line 53320 "gram.c"
   53320         284 :     break;
   53321             : 
   53322        1796 :   case 2483: /* ColLabel: type_func_name_keyword  */
   53323             : #line 17685 "gram.y"
   53324             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53325             : #line 53326 "gram.c"
   53326        1796 :     break;
   53327             : 
   53328        7516 :   case 2484: /* ColLabel: reserved_keyword  */
   53329             : #line 17686 "gram.y"
   53330             :                                                                                         { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53331             : #line 53332 "gram.c"
   53332        7516 :     break;
   53333             : 
   53334        3608 :   case 2485: /* BareColLabel: IDENT  */
   53335             : #line 17692 "gram.y"
   53336             :                                                                                 { (yyval.str) = (yyvsp[0].str); }
   53337             : #line 53338 "gram.c"
   53338        3608 :     break;
   53339             : 
   53340          14 :   case 2486: /* BareColLabel: bare_label_keyword  */
   53341             : #line 17693 "gram.y"
   53342             :                                                                                 { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
   53343             : #line 53344 "gram.c"
   53344          14 :     break;
   53345             : 
   53346             : 
   53347             : #line 53348 "gram.c"
   53348             : 
   53349     3532662 :       default: break;
   53350             :     }
   53351             :   /* User semantic actions sometimes alter yychar, and that requires
   53352             :      that yytoken be updated with the new translation.  We take the
   53353             :      approach of translating immediately before every use of yytoken.
   53354             :      One alternative is translating here after every semantic action,
   53355             :      but that translation would be missed if the semantic action invokes
   53356             :      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
   53357             :      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
   53358             :      incorrect destructor might then be invoked immediately.  In the
   53359             :      case of YYERROR or YYBACKUP, subsequent parser actions might lead
   53360             :      to an incorrect destructor call or verbose syntax error message
   53361             :      before the lookahead is translated.  */
   53362             :   YY_SYMBOL_PRINT ("-> $$ =", YY_CAST (yysymbol_kind_t, yyr1[yyn]), &yyval, &yyloc);
   53363             : 
   53364    53514636 :   YYPOPSTACK (yylen);
   53365    53514636 :   yylen = 0;
   53366             : 
   53367    53514636 :   *++yyvsp = yyval;
   53368    53514636 :   *++yylsp = yyloc;
   53369             : 
   53370             :   /* Now 'shift' the result of the reduction.  Determine what state
   53371             :      that goes to, based on the state we popped back to and the rule
   53372             :      number reduced by.  */
   53373             :   {
   53374    53514636 :     const int yylhs = yyr1[yyn] - YYNTOKENS;
   53375    53514636 :     const int yyi = yypgoto[yylhs] + *yyssp;
   53376    40894194 :     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
   53377    24550028 :                ? yytable[yyi]
   53378    94408830 :                : yydefgoto[yylhs]);
   53379             :   }
   53380             : 
   53381    53514636 :   goto yynewstate;
   53382             : 
   53383             : 
   53384             : /*--------------------------------------.
   53385             : | yyerrlab -- here on detecting error.  |
   53386             : `--------------------------------------*/
   53387         696 : yyerrlab:
   53388             :   /* Make sure we have latest lookahead translation.  See comments at
   53389             :      user semantic actions for why this is necessary.  */
   53390         696 :   yytoken = yychar == YYEMPTY ? YYSYMBOL_YYEMPTY : YYTRANSLATE (yychar);
   53391             :   /* If not already recovering from an error, report this error.  */
   53392         696 :   if (!yyerrstatus)
   53393             :     {
   53394         696 :       ++yynerrs;
   53395         696 :       yyerror (&yylloc, yyscanner, YY_("syntax error"));
   53396             :     }
   53397             : 
   53398           0 :   yyerror_range[1] = yylloc;
   53399           0 :   if (yyerrstatus == 3)
   53400             :     {
   53401             :       /* If just tried and failed to reuse lookahead token after an
   53402             :          error, discard it.  */
   53403             : 
   53404           0 :       if (yychar <= YYEOF)
   53405             :         {
   53406             :           /* Return failure if at end of input.  */
   53407           0 :           if (yychar == YYEOF)
   53408           0 :             YYABORT;
   53409             :         }
   53410             :       else
   53411             :         {
   53412           0 :           yydestruct ("Error: discarding",
   53413             :                       yytoken, &yylval, &yylloc, yyscanner);
   53414           0 :           yychar = YYEMPTY;
   53415             :         }
   53416             :     }
   53417             : 
   53418             :   /* Else will try to reuse lookahead token after shifting the error
   53419             :      token.  */
   53420           0 :   goto yyerrlab1;
   53421             : 
   53422             : 
   53423             : /*---------------------------------------------------.
   53424             : | yyerrorlab -- error raised explicitly by YYERROR.  |
   53425             : `---------------------------------------------------*/
   53426             : yyerrorlab:
   53427             :   /* Pacify compilers when the user code never invokes YYERROR and the
   53428             :      label yyerrorlab therefore never appears in user code.  */
   53429             :   if (0)
   53430             :     YYERROR;
   53431             :   ++yynerrs;
   53432             : 
   53433             :   /* Do not reclaim the symbols of the rule whose action triggered
   53434             :      this YYERROR.  */
   53435             :   YYPOPSTACK (yylen);
   53436             :   yylen = 0;
   53437             :   YY_STACK_PRINT (yyss, yyssp);
   53438             :   yystate = *yyssp;
   53439             :   goto yyerrlab1;
   53440             : 
   53441             : 
   53442             : /*-------------------------------------------------------------.
   53443             : | yyerrlab1 -- common code for both syntax error and YYERROR.  |
   53444             : `-------------------------------------------------------------*/
   53445           0 : yyerrlab1:
   53446           0 :   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
   53447             : 
   53448             :   /* Pop stack until we find a state that shifts the error token.  */
   53449             :   for (;;)
   53450             :     {
   53451         134 :       yyn = yypact[yystate];
   53452         134 :       if (!yypact_value_is_default (yyn))
   53453             :         {
   53454           0 :           yyn += YYSYMBOL_YYerror;
   53455           0 :           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYSYMBOL_YYerror)
   53456             :             {
   53457           0 :               yyn = yytable[yyn];
   53458           0 :               if (0 < yyn)
   53459         134 :                 break;
   53460             :             }
   53461             :         }
   53462             : 
   53463             :       /* Pop the current state because it cannot handle the error token.  */
   53464           0 :       if (yyssp == yyss)
   53465           0 :         YYABORT;
   53466             : 
   53467           0 :       yyerror_range[1] = *yylsp;
   53468           0 :       yydestruct ("Error: popping",
   53469           0 :                   YY_ACCESSING_SYMBOL (yystate), yyvsp, yylsp, yyscanner);
   53470         134 :       YYPOPSTACK (1);
   53471         134 :       yystate = *yyssp;
   53472             :       YY_STACK_PRINT (yyss, yyssp);
   53473             :     }
   53474             : 
   53475             :   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
   53476         134 :   *++yyvsp = yylval;
   53477             :   YY_IGNORE_MAYBE_UNINITIALIZED_END
   53478             : 
   53479         134 :   yyerror_range[2] = yylloc;
   53480         134 :   ++yylsp;
   53481         134 :   YYLLOC_DEFAULT (*yylsp, yyerror_range, 2);
   53482             : 
   53483             :   /* Shift the error token.  */
   53484             :   YY_SYMBOL_PRINT ("Shifting", YY_ACCESSING_SYMBOL (yyn), yyvsp, yylsp);
   53485             : 
   53486         134 :   yystate = yyn;
   53487         134 :   goto yynewstate;
   53488             : 
   53489             : 
   53490             : /*-------------------------------------.
   53491             : | yyacceptlab -- YYACCEPT comes here.  |
   53492             : `-------------------------------------*/
   53493      783448 : yyacceptlab:
   53494      783448 :   yyresult = 0;
   53495      783448 :   goto yyreturnlab;
   53496             : 
   53497             : 
   53498             : /*-----------------------------------.
   53499             : | yyabortlab -- YYABORT comes here.  |
   53500             : `-----------------------------------*/
   53501           0 : yyabortlab:
   53502           0 :   yyresult = 1;
   53503           0 :   goto yyreturnlab;
   53504             : 
   53505             : 
   53506             : /*-----------------------------------------------------------.
   53507             : | yyexhaustedlab -- YYNOMEM (memory exhaustion) comes here.  |
   53508             : `-----------------------------------------------------------*/
   53509           0 : yyexhaustedlab:
   53510           0 :   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
   53511           0 :   yyresult = 2;
   53512           0 :   goto yyreturnlab;
   53513             : 
   53514             : 
   53515             : /*----------------------------------------------------------.
   53516             : | yyreturnlab -- parsing is finished, clean up and return.  |
   53517             : `----------------------------------------------------------*/
   53518      783448 : yyreturnlab:
   53519      783448 :   if (yychar != YYEMPTY)
   53520             :     {
   53521             :       /* Make sure we have latest lookahead translation.  See comments at
   53522             :          user semantic actions for why this is necessary.  */
   53523           0 :       yytoken = YYTRANSLATE (yychar);
   53524           0 :       yydestruct ("Cleanup: discarding lookahead",
   53525             :                   yytoken, &yylval, &yylloc, yyscanner);
   53526             :     }
   53527             :   /* Do not reclaim the symbols of the rule whose action triggered
   53528             :      this YYABORT or YYACCEPT.  */
   53529      783446 :   YYPOPSTACK (yylen);
   53530             :   YY_STACK_PRINT (yyss, yyssp);
   53531     2350338 :   while (yyssp != yyss)
   53532             :     {
   53533     1566892 :       yydestruct ("Cleanup: popping",
   53534     1566892 :                   YY_ACCESSING_SYMBOL (+*yyssp), yyvsp, yylsp, yyscanner);
   53535     1566892 :       YYPOPSTACK (1);
   53536             :     }
   53537             : #ifndef yyoverflow
   53538      783446 :   if (yyss != yyssa)
   53539           0 :     YYSTACK_FREE (yyss);
   53540             : #endif
   53541             : 
   53542      783446 :   return yyresult;
   53543             : }
   53544             : 
   53545             : #line 18711 "gram.y"
   53546             : 
   53547             : 
   53548             : /*
   53549             :  * The signature of this function is required by bison.  However, we
   53550             :  * ignore the passed yylloc and instead use the last token position
   53551             :  * available from the scanner.
   53552             :  */
   53553             : static void
   53554             : base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
   53555             : {
   53556             :     parser_yyerror(msg);
   53557             : }
   53558             : 
   53559             : static RawStmt *
   53560             : makeRawStmt(Node *stmt, int stmt_location)
   53561             : {
   53562             :     RawStmt    *rs = makeNode(RawStmt);
   53563             : 
   53564             :     rs->stmt = stmt;
   53565             :     rs->stmt_location = stmt_location;
   53566             :     rs->stmt_len = 0;            /* might get changed later */
   53567             :     return rs;
   53568             : }
   53569             : 
   53570             : /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
   53571             : static void
   53572             : updateRawStmtEnd(RawStmt *rs, int end_location)
   53573             : {
   53574             :     /*
   53575             :      * If we already set the length, don't change it.  This is for situations
   53576             :      * like "select foo ;; select bar" where the same statement will be last
   53577             :      * in the string for more than one semicolon.
   53578             :      */
   53579             :     if (rs->stmt_len > 0)
   53580             :         return;
   53581             : 
   53582             :     /* OK, update length of RawStmt */
   53583             :     rs->stmt_len = end_location - rs->stmt_location;
   53584             : }
   53585             : 
   53586             : /*
   53587             :  * Adjust a PreparableStmt to reflect that it doesn't run to the end of the
   53588             :  * string.
   53589             :  */
   53590             : static void
   53591             : updatePreparableStmtEnd(Node *n, int end_location)
   53592             : {
   53593             :     if (IsA(n, SelectStmt))
   53594             :     {
   53595             :         SelectStmt *stmt = (SelectStmt *) n;
   53596             : 
   53597             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53598             :     }
   53599             :     else if (IsA(n, InsertStmt))
   53600             :     {
   53601             :         InsertStmt *stmt = (InsertStmt *) n;
   53602             : 
   53603             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53604             :     }
   53605             :     else if (IsA(n, UpdateStmt))
   53606             :     {
   53607             :         UpdateStmt *stmt = (UpdateStmt *) n;
   53608             : 
   53609             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53610             :     }
   53611             :     else if (IsA(n, DeleteStmt))
   53612             :     {
   53613             :         DeleteStmt *stmt = (DeleteStmt *) n;
   53614             : 
   53615             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53616             :     }
   53617             :     else if (IsA(n, MergeStmt))
   53618             :     {
   53619             :         MergeStmt  *stmt = (MergeStmt *) n;
   53620             : 
   53621             :         stmt->stmt_len = end_location - stmt->stmt_location;
   53622             :     }
   53623             :     else
   53624             :         elog(ERROR, "unexpected node type %d", (int) n->type);
   53625             : }
   53626             : 
   53627             : static Node *
   53628             : makeColumnRef(char *colname, List *indirection,
   53629             :               int location, core_yyscan_t yyscanner)
   53630             : {
   53631             :     /*
   53632             :      * Generate a ColumnRef node, with an A_Indirection node added if there is
   53633             :      * any subscripting in the specified indirection list.  However, any field
   53634             :      * selection at the start of the indirection list must be transposed into
   53635             :      * the "fields" part of the ColumnRef node.
   53636             :      */
   53637             :     ColumnRef  *c = makeNode(ColumnRef);
   53638             :     int         nfields = 0;
   53639             :     ListCell   *l;
   53640             : 
   53641             :     c->location = location;
   53642             :     foreach(l, indirection)
   53643             :     {
   53644             :         if (IsA(lfirst(l), A_Indices))
   53645             :         {
   53646             :             A_Indirection *i = makeNode(A_Indirection);
   53647             : 
   53648             :             if (nfields == 0)
   53649             :             {
   53650             :                 /* easy case - all indirection goes to A_Indirection */
   53651             :                 c->fields = list_make1(makeString(colname));
   53652             :                 i->indirection = check_indirection(indirection, yyscanner);
   53653             :             }
   53654             :             else
   53655             :             {
   53656             :                 /* got to split the list in two */
   53657             :                 i->indirection = check_indirection(list_copy_tail(indirection,
   53658             :                                                                   nfields),
   53659             :                                                    yyscanner);
   53660             :                 indirection = list_truncate(indirection, nfields);
   53661             :                 c->fields = lcons(makeString(colname), indirection);
   53662             :             }
   53663             :             i->arg = (Node *) c;
   53664             :             return (Node *) i;
   53665             :         }
   53666             :         else if (IsA(lfirst(l), A_Star))
   53667             :         {
   53668             :             /* We only allow '*' at the end of a ColumnRef */
   53669             :             if (lnext(indirection, l) != NULL)
   53670             :                 parser_yyerror("improper use of \"*\"");
   53671             :         }
   53672             :         nfields++;
   53673             :     }
   53674             :     /* No subscripting, so all indirection gets added to field list */
   53675             :     c->fields = lcons(makeString(colname), indirection);
   53676             :     return (Node *) c;
   53677             : }
   53678             : 
   53679             : static Node *
   53680             : makeTypeCast(Node *arg, TypeName *typename, int location)
   53681             : {
   53682             :     TypeCast   *n = makeNode(TypeCast);
   53683             : 
   53684             :     n->arg = arg;
   53685             :     n->typeName = typename;
   53686             :     n->location = location;
   53687             :     return (Node *) n;
   53688             : }
   53689             : 
   53690             : static Node *
   53691             : makeStringConstCast(char *str, int location, TypeName *typename)
   53692             : {
   53693             :     Node       *s = makeStringConst(str, location);
   53694             : 
   53695             :     return makeTypeCast(s, typename, -1);
   53696             : }
   53697             : 
   53698             : static Node *
   53699             : makeIntConst(int val, int location)
   53700             : {
   53701             :     A_Const    *n = makeNode(A_Const);
   53702             : 
   53703             :     n->val.ival.type = T_Integer;
   53704             :     n->val.ival.ival = val;
   53705             :     n->location = location;
   53706             : 
   53707             :     return (Node *) n;
   53708             : }
   53709             : 
   53710             : static Node *
   53711             : makeFloatConst(char *str, int location)
   53712             : {
   53713             :     A_Const    *n = makeNode(A_Const);
   53714             : 
   53715             :     n->val.fval.type = T_Float;
   53716             :     n->val.fval.fval = str;
   53717             :     n->location = location;
   53718             : 
   53719             :     return (Node *) n;
   53720             : }
   53721             : 
   53722             : static Node *
   53723             : makeBoolAConst(bool state, int location)
   53724             : {
   53725             :     A_Const    *n = makeNode(A_Const);
   53726             : 
   53727             :     n->val.boolval.type = T_Boolean;
   53728             :     n->val.boolval.boolval = state;
   53729             :     n->location = location;
   53730             : 
   53731             :     return (Node *) n;
   53732             : }
   53733             : 
   53734             : static Node *
   53735             : makeBitStringConst(char *str, int location)
   53736             : {
   53737             :     A_Const    *n = makeNode(A_Const);
   53738             : 
   53739             :     n->val.bsval.type = T_BitString;
   53740             :     n->val.bsval.bsval = str;
   53741             :     n->location = location;
   53742             : 
   53743             :     return (Node *) n;
   53744             : }
   53745             : 
   53746             : static Node *
   53747             : makeNullAConst(int location)
   53748             : {
   53749             :     A_Const    *n = makeNode(A_Const);
   53750             : 
   53751             :     n->isnull = true;
   53752             :     n->location = location;
   53753             : 
   53754             :     return (Node *) n;
   53755             : }
   53756             : 
   53757             : static Node *
   53758             : makeAConst(Node *v, int location)
   53759             : {
   53760             :     Node       *n;
   53761             : 
   53762             :     switch (v->type)
   53763             :     {
   53764             :         case T_Float:
   53765             :             n = makeFloatConst(castNode(Float, v)->fval, location);
   53766             :             break;
   53767             : 
   53768             :         case T_Integer:
   53769             :             n = makeIntConst(castNode(Integer, v)->ival, location);
   53770             :             break;
   53771             : 
   53772             :         default:
   53773             :             /* currently not used */
   53774             :             Assert(false);
   53775             :             n = NULL;
   53776             :     }
   53777             : 
   53778             :     return n;
   53779             : }
   53780             : 
   53781             : /* makeRoleSpec
   53782             :  * Create a RoleSpec with the given type
   53783             :  */
   53784             : static RoleSpec *
   53785             : makeRoleSpec(RoleSpecType type, int location)
   53786             : {
   53787             :     RoleSpec   *spec = makeNode(RoleSpec);
   53788             : 
   53789             :     spec->roletype = type;
   53790             :     spec->location = location;
   53791             : 
   53792             :     return spec;
   53793             : }
   53794             : 
   53795             : /* check_qualified_name --- check the result of qualified_name production
   53796             :  *
   53797             :  * It's easiest to let the grammar production for qualified_name allow
   53798             :  * subscripts and '*', which we then must reject here.
   53799             :  */
   53800             : static void
   53801             : check_qualified_name(List *names, core_yyscan_t yyscanner)
   53802             : {
   53803             :     ListCell   *i;
   53804             : 
   53805             :     foreach(i, names)
   53806             :     {
   53807             :         if (!IsA(lfirst(i), String))
   53808             :             parser_yyerror("syntax error");
   53809             :     }
   53810             : }
   53811             : 
   53812             : /* check_func_name --- check the result of func_name production
   53813             :  *
   53814             :  * It's easiest to let the grammar production for func_name allow subscripts
   53815             :  * and '*', which we then must reject here.
   53816             :  */
   53817             : static List *
   53818             : check_func_name(List *names, core_yyscan_t yyscanner)
   53819             : {
   53820             :     ListCell   *i;
   53821             : 
   53822             :     foreach(i, names)
   53823             :     {
   53824             :         if (!IsA(lfirst(i), String))
   53825             :             parser_yyerror("syntax error");
   53826             :     }
   53827             :     return names;
   53828             : }
   53829             : 
   53830             : /* check_indirection --- check the result of indirection production
   53831             :  *
   53832             :  * We only allow '*' at the end of the list, but it's hard to enforce that
   53833             :  * in the grammar, so do it here.
   53834             :  */
   53835             : static List *
   53836             : check_indirection(List *indirection, core_yyscan_t yyscanner)
   53837             : {
   53838             :     ListCell   *l;
   53839             : 
   53840             :     foreach(l, indirection)
   53841             :     {
   53842             :         if (IsA(lfirst(l), A_Star))
   53843             :         {
   53844             :             if (lnext(indirection, l) != NULL)
   53845             :                 parser_yyerror("improper use of \"*\"");
   53846             :         }
   53847             :     }
   53848             :     return indirection;
   53849             : }
   53850             : 
   53851             : /* extractArgTypes()
   53852             :  * Given a list of FunctionParameter nodes, extract a list of just the
   53853             :  * argument types (TypeNames) for input parameters only.  This is what
   53854             :  * is needed to look up an existing function, which is what is wanted by
   53855             :  * the productions that use this call.
   53856             :  */
   53857             : static List *
   53858             : extractArgTypes(List *parameters)
   53859             : {
   53860             :     List       *result = NIL;
   53861             :     ListCell   *i;
   53862             : 
   53863             :     foreach(i, parameters)
   53864             :     {
   53865             :         FunctionParameter *p = (FunctionParameter *) lfirst(i);
   53866             : 
   53867             :         if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
   53868             :             result = lappend(result, p->argType);
   53869             :     }
   53870             :     return result;
   53871             : }
   53872             : 
   53873             : /* extractAggrArgTypes()
   53874             :  * As above, but work from the output of the aggr_args production.
   53875             :  */
   53876             : static List *
   53877             : extractAggrArgTypes(List *aggrargs)
   53878             : {
   53879             :     Assert(list_length(aggrargs) == 2);
   53880             :     return extractArgTypes((List *) linitial(aggrargs));
   53881             : }
   53882             : 
   53883             : /* makeOrderedSetArgs()
   53884             :  * Build the result of the aggr_args production (which see the comments for).
   53885             :  * This handles only the case where both given lists are nonempty, so that
   53886             :  * we have to deal with multiple VARIADIC arguments.
   53887             :  */
   53888             : static List *
   53889             : makeOrderedSetArgs(List *directargs, List *orderedargs,
   53890             :                    core_yyscan_t yyscanner)
   53891             : {
   53892             :     FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
   53893             :     Integer    *ndirectargs;
   53894             : 
   53895             :     /* No restriction unless last direct arg is VARIADIC */
   53896             :     if (lastd->mode == FUNC_PARAM_VARIADIC)
   53897             :     {
   53898             :         FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
   53899             : 
   53900             :         /*
   53901             :          * We ignore the names, though the aggr_arg production allows them; it
   53902             :          * doesn't allow default values, so those need not be checked.
   53903             :          */
   53904             :         if (list_length(orderedargs) != 1 ||
   53905             :             firsto->mode != FUNC_PARAM_VARIADIC ||
   53906             :             !equal(lastd->argType, firsto->argType))
   53907             :             ereport(ERROR,
   53908             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   53909             :                      errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
   53910             :                      parser_errposition(firsto->location)));
   53911             : 
   53912             :         /* OK, drop the duplicate VARIADIC argument from the internal form */
   53913             :         orderedargs = NIL;
   53914             :     }
   53915             : 
   53916             :     /* don't merge into the next line, as list_concat changes directargs */
   53917             :     ndirectargs = makeInteger(list_length(directargs));
   53918             : 
   53919             :     return list_make2(list_concat(directargs, orderedargs),
   53920             :                       ndirectargs);
   53921             : }
   53922             : 
   53923             : /* insertSelectOptions()
   53924             :  * Insert ORDER BY, etc into an already-constructed SelectStmt.
   53925             :  *
   53926             :  * This routine is just to avoid duplicating code in SelectStmt productions.
   53927             :  */
   53928             : static void
   53929             : insertSelectOptions(SelectStmt *stmt,
   53930             :                     List *sortClause, List *lockingClause,
   53931             :                     SelectLimit *limitClause,
   53932             :                     WithClause *withClause,
   53933             :                     core_yyscan_t yyscanner)
   53934             : {
   53935             :     Assert(IsA(stmt, SelectStmt));
   53936             : 
   53937             :     /*
   53938             :      * Tests here are to reject constructs like
   53939             :      *  (SELECT foo ORDER BY bar) ORDER BY baz
   53940             :      */
   53941             :     if (sortClause)
   53942             :     {
   53943             :         if (stmt->sortClause)
   53944             :             ereport(ERROR,
   53945             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53946             :                      errmsg("multiple ORDER BY clauses not allowed"),
   53947             :                      parser_errposition(exprLocation((Node *) sortClause))));
   53948             :         stmt->sortClause = sortClause;
   53949             :     }
   53950             :     /* We can handle multiple locking clauses, though */
   53951             :     stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
   53952             :     if (limitClause && limitClause->limitOffset)
   53953             :     {
   53954             :         if (stmt->limitOffset)
   53955             :             ereport(ERROR,
   53956             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53957             :                      errmsg("multiple OFFSET clauses not allowed"),
   53958             :                      parser_errposition(limitClause->offsetLoc)));
   53959             :         stmt->limitOffset = limitClause->limitOffset;
   53960             :     }
   53961             :     if (limitClause && limitClause->limitCount)
   53962             :     {
   53963             :         if (stmt->limitCount)
   53964             :             ereport(ERROR,
   53965             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53966             :                      errmsg("multiple LIMIT clauses not allowed"),
   53967             :                      parser_errposition(limitClause->countLoc)));
   53968             :         stmt->limitCount = limitClause->limitCount;
   53969             :     }
   53970             :     if (limitClause)
   53971             :     {
   53972             :         /* If there was a conflict, we must have detected it above */
   53973             :         Assert(!stmt->limitOption);
   53974             :         if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
   53975             :             ereport(ERROR,
   53976             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   53977             :                      errmsg("WITH TIES cannot be specified without ORDER BY clause"),
   53978             :                      parser_errposition(limitClause->optionLoc)));
   53979             :         if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
   53980             :         {
   53981             :             ListCell   *lc;
   53982             : 
   53983             :             foreach(lc, stmt->lockingClause)
   53984             :             {
   53985             :                 LockingClause *lock = lfirst_node(LockingClause, lc);
   53986             : 
   53987             :                 if (lock->waitPolicy == LockWaitSkip)
   53988             :                     ereport(ERROR,
   53989             :                             (errcode(ERRCODE_SYNTAX_ERROR),
   53990             :                              errmsg("%s and %s options cannot be used together",
   53991             :                                     "SKIP LOCKED", "WITH TIES"),
   53992             :                              parser_errposition(limitClause->optionLoc)));
   53993             :             }
   53994             :         }
   53995             :         stmt->limitOption = limitClause->limitOption;
   53996             :     }
   53997             :     if (withClause)
   53998             :     {
   53999             :         if (stmt->withClause)
   54000             :             ereport(ERROR,
   54001             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54002             :                      errmsg("multiple WITH clauses not allowed"),
   54003             :                      parser_errposition(exprLocation((Node *) withClause))));
   54004             :         stmt->withClause = withClause;
   54005             : 
   54006             :         /* Update SelectStmt's location to the start of the WITH clause */
   54007             :         stmt->stmt_location = withClause->location;
   54008             :     }
   54009             : }
   54010             : 
   54011             : static Node *
   54012             : makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg, int location)
   54013             : {
   54014             :     SelectStmt *n = makeNode(SelectStmt);
   54015             : 
   54016             :     n->op = op;
   54017             :     n->all = all;
   54018             :     n->larg = (SelectStmt *) larg;
   54019             :     n->rarg = (SelectStmt *) rarg;
   54020             :     n->stmt_location = location;
   54021             :     return (Node *) n;
   54022             : }
   54023             : 
   54024             : /* SystemFuncName()
   54025             :  * Build a properly-qualified reference to a built-in function.
   54026             :  */
   54027             : List *
   54028             : SystemFuncName(char *name)
   54029             : {
   54030             :     return list_make2(makeString("pg_catalog"), makeString(name));
   54031             : }
   54032             : 
   54033             : /* SystemTypeName()
   54034             :  * Build a properly-qualified reference to a built-in type.
   54035             :  *
   54036             :  * typmod is defaulted, but may be changed afterwards by caller.
   54037             :  * Likewise for the location.
   54038             :  */
   54039             : TypeName *
   54040             : SystemTypeName(char *name)
   54041             : {
   54042             :     return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
   54043             :                                                makeString(name)));
   54044             : }
   54045             : 
   54046             : /* doNegate()
   54047             :  * Handle negation of a numeric constant.
   54048             :  *
   54049             :  * Formerly, we did this here because the optimizer couldn't cope with
   54050             :  * indexquals that looked like "var = -4" --- it wants "var = const"
   54051             :  * and a unary minus operator applied to a constant didn't qualify.
   54052             :  * As of Postgres 7.0, that problem doesn't exist anymore because there
   54053             :  * is a constant-subexpression simplifier in the optimizer.  However,
   54054             :  * there's still a good reason for doing this here, which is that we can
   54055             :  * postpone committing to a particular internal representation for simple
   54056             :  * negative constants.  It's better to leave "-123.456" in string form
   54057             :  * until we know what the desired type is.
   54058             :  */
   54059             : static Node *
   54060             : doNegate(Node *n, int location)
   54061             : {
   54062             :     if (IsA(n, A_Const))
   54063             :     {
   54064             :         A_Const    *con = (A_Const *) n;
   54065             : 
   54066             :         /* report the constant's location as that of the '-' sign */
   54067             :         con->location = location;
   54068             : 
   54069             :         if (IsA(&con->val, Integer))
   54070             :         {
   54071             :             con->val.ival.ival = -con->val.ival.ival;
   54072             :             return n;
   54073             :         }
   54074             :         if (IsA(&con->val, Float))
   54075             :         {
   54076             :             doNegateFloat(&con->val.fval);
   54077             :             return n;
   54078             :         }
   54079             :     }
   54080             : 
   54081             :     return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
   54082             : }
   54083             : 
   54084             : static void
   54085             : doNegateFloat(Float *v)
   54086             : {
   54087             :     char       *oldval = v->fval;
   54088             : 
   54089             :     if (*oldval == '+')
   54090             :         oldval++;
   54091             :     if (*oldval == '-')
   54092             :         v->fval = oldval + 1;    /* just strip the '-' */
   54093             :     else
   54094             :         v->fval = psprintf("-%s", oldval);
   54095             : }
   54096             : 
   54097             : static Node *
   54098             : makeAndExpr(Node *lexpr, Node *rexpr, int location)
   54099             : {
   54100             :     /* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
   54101             :     if (IsA(lexpr, BoolExpr))
   54102             :     {
   54103             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54104             : 
   54105             :         if (blexpr->boolop == AND_EXPR)
   54106             :         {
   54107             :             blexpr->args = lappend(blexpr->args, rexpr);
   54108             :             return (Node *) blexpr;
   54109             :         }
   54110             :     }
   54111             :     return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
   54112             : }
   54113             : 
   54114             : static Node *
   54115             : makeOrExpr(Node *lexpr, Node *rexpr, int location)
   54116             : {
   54117             :     /* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
   54118             :     if (IsA(lexpr, BoolExpr))
   54119             :     {
   54120             :         BoolExpr   *blexpr = (BoolExpr *) lexpr;
   54121             : 
   54122             :         if (blexpr->boolop == OR_EXPR)
   54123             :         {
   54124             :             blexpr->args = lappend(blexpr->args, rexpr);
   54125             :             return (Node *) blexpr;
   54126             :         }
   54127             :     }
   54128             :     return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
   54129             : }
   54130             : 
   54131             : static Node *
   54132             : makeNotExpr(Node *expr, int location)
   54133             : {
   54134             :     return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
   54135             : }
   54136             : 
   54137             : static Node *
   54138             : makeAArrayExpr(List *elements, int location)
   54139             : {
   54140             :     A_ArrayExpr *n = makeNode(A_ArrayExpr);
   54141             : 
   54142             :     n->elements = elements;
   54143             :     n->location = location;
   54144             :     return (Node *) n;
   54145             : }
   54146             : 
   54147             : static Node *
   54148             : makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
   54149             : {
   54150             :     SQLValueFunction *svf = makeNode(SQLValueFunction);
   54151             : 
   54152             :     svf->op = op;
   54153             :     /* svf->type will be filled during parse analysis */
   54154             :     svf->typmod = typmod;
   54155             :     svf->location = location;
   54156             :     return (Node *) svf;
   54157             : }
   54158             : 
   54159             : static Node *
   54160             : makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
   54161             :             int location)
   54162             : {
   54163             :     XmlExpr    *x = makeNode(XmlExpr);
   54164             : 
   54165             :     x->op = op;
   54166             :     x->name = name;
   54167             : 
   54168             :     /*
   54169             :      * named_args is a list of ResTarget; it'll be split apart into separate
   54170             :      * expression and name lists in transformXmlExpr().
   54171             :      */
   54172             :     x->named_args = named_args;
   54173             :     x->arg_names = NIL;
   54174             :     x->args = args;
   54175             :     /* xmloption, if relevant, must be filled in by caller */
   54176             :     /* type and typmod will be filled in during parse analysis */
   54177             :     x->type = InvalidOid;        /* marks the node as not analyzed */
   54178             :     x->location = location;
   54179             :     return (Node *) x;
   54180             : }
   54181             : 
   54182             : /*
   54183             :  * Merge the input and output parameters of a table function.
   54184             :  */
   54185             : static List *
   54186             : mergeTableFuncParameters(List *func_args, List *columns, core_yyscan_t yyscanner)
   54187             : {
   54188             :     ListCell   *lc;
   54189             : 
   54190             :     /* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
   54191             :     foreach(lc, func_args)
   54192             :     {
   54193             :         FunctionParameter *p = (FunctionParameter *) lfirst(lc);
   54194             : 
   54195             :         if (p->mode != FUNC_PARAM_DEFAULT &&
   54196             :             p->mode != FUNC_PARAM_IN &&
   54197             :             p->mode != FUNC_PARAM_VARIADIC)
   54198             :             ereport(ERROR,
   54199             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54200             :                      errmsg("OUT and INOUT arguments aren't allowed in TABLE functions"),
   54201             :                      parser_errposition(p->location)));
   54202             :     }
   54203             : 
   54204             :     return list_concat(func_args, columns);
   54205             : }
   54206             : 
   54207             : /*
   54208             :  * Determine return type of a TABLE function.  A single result column
   54209             :  * returns setof that column's type; otherwise return setof record.
   54210             :  */
   54211             : static TypeName *
   54212             : TableFuncTypeName(List *columns)
   54213             : {
   54214             :     TypeName   *result;
   54215             : 
   54216             :     if (list_length(columns) == 1)
   54217             :     {
   54218             :         FunctionParameter *p = (FunctionParameter *) linitial(columns);
   54219             : 
   54220             :         result = copyObject(p->argType);
   54221             :     }
   54222             :     else
   54223             :         result = SystemTypeName("record");
   54224             : 
   54225             :     result->setof = true;
   54226             : 
   54227             :     return result;
   54228             : }
   54229             : 
   54230             : /*
   54231             :  * Convert a list of (dotted) names to a RangeVar (like
   54232             :  * makeRangeVarFromNameList, but with position support).  The
   54233             :  * "AnyName" refers to the any_name production in the grammar.
   54234             :  */
   54235             : static RangeVar *
   54236             : makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
   54237             : {
   54238             :     RangeVar   *r = makeNode(RangeVar);
   54239             : 
   54240             :     switch (list_length(names))
   54241             :     {
   54242             :         case 1:
   54243             :             r->catalogname = NULL;
   54244             :             r->schemaname = NULL;
   54245             :             r->relname = strVal(linitial(names));
   54246             :             break;
   54247             :         case 2:
   54248             :             r->catalogname = NULL;
   54249             :             r->schemaname = strVal(linitial(names));
   54250             :             r->relname = strVal(lsecond(names));
   54251             :             break;
   54252             :         case 3:
   54253             :             r->catalogname = strVal(linitial(names));
   54254             :             r->schemaname = strVal(lsecond(names));
   54255             :             r->relname = strVal(lthird(names));
   54256             :             break;
   54257             :         default:
   54258             :             ereport(ERROR,
   54259             :                     (errcode(ERRCODE_SYNTAX_ERROR),
   54260             :                      errmsg("improper qualified name (too many dotted names): %s",
   54261             :                             NameListToString(names)),
   54262             :                      parser_errposition(position)));
   54263             :             break;
   54264             :     }
   54265             : 
   54266             :     r->relpersistence = RELPERSISTENCE_PERMANENT;
   54267             :     r->location = position;
   54268             : 
   54269             :     return r;
   54270             : }
   54271             : 
   54272             : /*
   54273             :  * Convert a relation_name with name and namelist to a RangeVar using
   54274             :  * makeRangeVar.
   54275             :  */
   54276             : static RangeVar *
   54277             : makeRangeVarFromQualifiedName(char *name, List *namelist, int location,
   54278             :                               core_yyscan_t yyscanner)
   54279             : {
   54280             :     RangeVar   *r;
   54281             : 
   54282             :     check_qualified_name(namelist, yyscanner);
   54283             :     r = makeRangeVar(NULL, NULL, location);
   54284             : 
   54285             :     switch (list_length(namelist))
   54286             :     {
   54287             :         case 1:
   54288             :             r->catalogname = NULL;
   54289             :             r->schemaname = name;
   54290             :             r->relname = strVal(linitial(namelist));
   54291             :             break;
   54292             :         case 2:
   54293             :             r->catalogname = name;
   54294             :             r->schemaname = strVal(linitial(namelist));
   54295             :             r->relname = strVal(lsecond(namelist));
   54296             :             break;
   54297             :         default:
   54298             :             ereport(ERROR,
   54299             :                     errcode(ERRCODE_SYNTAX_ERROR),
   54300             :                     errmsg("improper qualified name (too many dotted names): %s",
   54301             :                            NameListToString(lcons(makeString(name), namelist))),
   54302             :                     parser_errposition(location));
   54303             :             break;
   54304             :     }
   54305             : 
   54306             :     return r;
   54307             : }
   54308             : 
   54309             : /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
   54310             : static void
   54311             : SplitColQualList(List *qualList,
   54312             :                  List **constraintList, CollateClause **collClause,
   54313             :                  core_yyscan_t yyscanner)
   54314             : {
   54315             :     ListCell   *cell;
   54316             : 
   54317             :     *collClause = NULL;
   54318             :     foreach(cell, qualList)
   54319             :     {
   54320             :         Node       *n = (Node *) lfirst(cell);
   54321             : 
   54322             :         if (IsA(n, Constraint))
   54323             :         {
   54324             :             /* keep it in list */
   54325             :             continue;
   54326             :         }
   54327             :         if (IsA(n, CollateClause))
   54328             :         {
   54329             :             CollateClause *c = (CollateClause *) n;
   54330             : 
   54331             :             if (*collClause)
   54332             :                 ereport(ERROR,
   54333             :                         (errcode(ERRCODE_SYNTAX_ERROR),
   54334             :                          errmsg("multiple COLLATE clauses not allowed"),
   54335             :                          parser_errposition(c->location)));
   54336             :             *collClause = c;
   54337             :         }
   54338             :         else
   54339             :             elog(ERROR, "unexpected node type %d", (int) n->type);
   54340             :         /* remove non-Constraint nodes from qualList */
   54341             :         qualList = foreach_delete_current(qualList, cell);
   54342             :     }
   54343             :     *constraintList = qualList;
   54344             : }
   54345             : 
   54346             : /*
   54347             :  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
   54348             :  * in the output command node.  Pass NULL for any flags the particular
   54349             :  * command doesn't support.
   54350             :  */
   54351             : static void
   54352             : processCASbits(int cas_bits, int location, const char *constrType,
   54353             :                bool *deferrable, bool *initdeferred, bool *is_enforced,
   54354             :                bool *not_valid, bool *no_inherit, core_yyscan_t yyscanner)
   54355             : {
   54356             :     /* defaults */
   54357             :     if (deferrable)
   54358             :         *deferrable = false;
   54359             :     if (initdeferred)
   54360             :         *initdeferred = false;
   54361             :     if (not_valid)
   54362             :         *not_valid = false;
   54363             :     if (is_enforced)
   54364             :         *is_enforced = true;
   54365             : 
   54366             :     if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
   54367             :     {
   54368             :         if (deferrable)
   54369             :             *deferrable = true;
   54370             :         else
   54371             :             ereport(ERROR,
   54372             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54373             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54374             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54375             :                             constrType),
   54376             :                      parser_errposition(location)));
   54377             :     }
   54378             : 
   54379             :     if (cas_bits & CAS_INITIALLY_DEFERRED)
   54380             :     {
   54381             :         if (initdeferred)
   54382             :             *initdeferred = true;
   54383             :         else
   54384             :             ereport(ERROR,
   54385             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54386             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54387             :                      errmsg("%s constraints cannot be marked DEFERRABLE",
   54388             :                             constrType),
   54389             :                      parser_errposition(location)));
   54390             :     }
   54391             : 
   54392             :     if (cas_bits & CAS_NOT_VALID)
   54393             :     {
   54394             :         if (not_valid)
   54395             :             *not_valid = true;
   54396             :         else
   54397             :             ereport(ERROR,
   54398             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54399             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54400             :                      errmsg("%s constraints cannot be marked NOT VALID",
   54401             :                             constrType),
   54402             :                      parser_errposition(location)));
   54403             :     }
   54404             : 
   54405             :     if (cas_bits & CAS_NO_INHERIT)
   54406             :     {
   54407             :         if (no_inherit)
   54408             :             *no_inherit = true;
   54409             :         else
   54410             :             ereport(ERROR,
   54411             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54412             :             /* translator: %s is CHECK, UNIQUE, or similar */
   54413             :                      errmsg("%s constraints cannot be marked NO INHERIT",
   54414             :                             constrType),
   54415             :                      parser_errposition(location)));
   54416             :     }
   54417             : 
   54418             :     if (cas_bits & CAS_NOT_ENFORCED)
   54419             :     {
   54420             :         if (is_enforced)
   54421             :             *is_enforced = false;
   54422             :         else
   54423             :             ereport(ERROR,
   54424             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54425             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54426             :                      errmsg("%s constraints cannot be marked NOT ENFORCED",
   54427             :                             constrType),
   54428             :                      parser_errposition(location)));
   54429             : 
   54430             :         /*
   54431             :          * NB: The validated status is irrelevant when the constraint is set to
   54432             :          * NOT ENFORCED, but for consistency, it should be set accordingly.
   54433             :          * This ensures that if the constraint is later changed to ENFORCED, it
   54434             :          * will automatically be in the correct NOT VALIDATED state.
   54435             :          */
   54436             :         if (not_valid)
   54437             :             *not_valid = true;
   54438             :     }
   54439             : 
   54440             :     if (cas_bits & CAS_ENFORCED)
   54441             :     {
   54442             :         if (is_enforced)
   54443             :             *is_enforced = true;
   54444             :         else
   54445             :             ereport(ERROR,
   54446             :                     (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
   54447             :                      /* translator: %s is CHECK, UNIQUE, or similar */
   54448             :                      errmsg("%s constraints cannot be marked ENFORCED",
   54449             :                             constrType),
   54450             :                      parser_errposition(location)));
   54451             :     }
   54452             : }
   54453             : 
   54454             : /*
   54455             :  * Parse a user-supplied partition strategy string into parse node
   54456             :  * PartitionStrategy representation, or die trying.
   54457             :  */
   54458             : static PartitionStrategy
   54459             : parsePartitionStrategy(char *strategy, int location, core_yyscan_t yyscanner)
   54460             : {
   54461             :     if (pg_strcasecmp(strategy, "list") == 0)
   54462             :         return PARTITION_STRATEGY_LIST;
   54463             :     else if (pg_strcasecmp(strategy, "range") == 0)
   54464             :         return PARTITION_STRATEGY_RANGE;
   54465             :     else if (pg_strcasecmp(strategy, "hash") == 0)
   54466             :         return PARTITION_STRATEGY_HASH;
   54467             : 
   54468             :     ereport(ERROR,
   54469             :             (errcode(ERRCODE_INVALID_PARAMETER_VALUE),
   54470             :              errmsg("unrecognized partitioning strategy \"%s\"", strategy),
   54471             :              parser_errposition(location)));
   54472             :     return PARTITION_STRATEGY_LIST; /* keep compiler quiet */
   54473             : 
   54474             : }
   54475             : 
   54476             : /*
   54477             :  * Process pubobjspec_list to check for errors in any of the objects and
   54478             :  * convert PUBLICATIONOBJ_CONTINUATION into appropriate PublicationObjSpecType.
   54479             :  */
   54480             : static void
   54481             : preprocess_pubobj_list(List *pubobjspec_list, core_yyscan_t yyscanner)
   54482             : {
   54483             :     ListCell   *cell;
   54484             :     PublicationObjSpec *pubobj;
   54485             :     PublicationObjSpecType prevobjtype = PUBLICATIONOBJ_CONTINUATION;
   54486             : 
   54487             :     if (!pubobjspec_list)
   54488             :         return;
   54489             : 
   54490             :     pubobj = (PublicationObjSpec *) linitial(pubobjspec_list);
   54491             :     if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54492             :         ereport(ERROR,
   54493             :                 errcode(ERRCODE_SYNTAX_ERROR),
   54494             :                 errmsg("invalid publication object list"),
   54495             :                 errdetail("One of TABLE or TABLES IN SCHEMA must be specified before a standalone table or schema name."),
   54496             :                 parser_errposition(pubobj->location));
   54497             : 
   54498             :     foreach(cell, pubobjspec_list)
   54499             :     {
   54500             :         pubobj = (PublicationObjSpec *) lfirst(cell);
   54501             : 
   54502             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_CONTINUATION)
   54503             :             pubobj->pubobjtype = prevobjtype;
   54504             : 
   54505             :         if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLE)
   54506             :         {
   54507             :             /* relation name or pubtable must be set for this type of object */
   54508             :             if (!pubobj->name && !pubobj->pubtable)
   54509             :                 ereport(ERROR,
   54510             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54511             :                         errmsg("invalid table name"),
   54512             :                         parser_errposition(pubobj->location));
   54513             : 
   54514             :             if (pubobj->name)
   54515             :             {
   54516             :                 /* convert it to PublicationTable */
   54517             :                 PublicationTable *pubtable = makeNode(PublicationTable);
   54518             : 
   54519             :                 pubtable->relation =
   54520             :                     makeRangeVar(NULL, pubobj->name, pubobj->location);
   54521             :                 pubobj->pubtable = pubtable;
   54522             :                 pubobj->name = NULL;
   54523             :             }
   54524             :         }
   54525             :         else if (pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_SCHEMA ||
   54526             :                  pubobj->pubobjtype == PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA)
   54527             :         {
   54528             :             /* WHERE clause is not allowed on a schema object */
   54529             :             if (pubobj->pubtable && pubobj->pubtable->whereClause)
   54530             :                 ereport(ERROR,
   54531             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54532             :                         errmsg("WHERE clause not allowed for schema"),
   54533             :                         parser_errposition(pubobj->location));
   54534             : 
   54535             :             /* Column list is not allowed on a schema object */
   54536             :             if (pubobj->pubtable && pubobj->pubtable->columns)
   54537             :                 ereport(ERROR,
   54538             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54539             :                         errmsg("column specification not allowed for schema"),
   54540             :                         parser_errposition(pubobj->location));
   54541             : 
   54542             :             /*
   54543             :              * We can distinguish between the different type of schema objects
   54544             :              * based on whether name and pubtable is set.
   54545             :              */
   54546             :             if (pubobj->name)
   54547             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_SCHEMA;
   54548             :             else if (!pubobj->name && !pubobj->pubtable)
   54549             :                 pubobj->pubobjtype = PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA;
   54550             :             else
   54551             :                 ereport(ERROR,
   54552             :                         errcode(ERRCODE_SYNTAX_ERROR),
   54553             :                         errmsg("invalid schema name"),
   54554             :                         parser_errposition(pubobj->location));
   54555             :         }
   54556             : 
   54557             :         prevobjtype = pubobj->pubobjtype;
   54558             :     }
   54559             : }
   54560             : 
   54561             : /*----------
   54562             :  * Recursive view transformation
   54563             :  *
   54564             :  * Convert
   54565             :  *
   54566             :  *     CREATE RECURSIVE VIEW relname (aliases) AS query
   54567             :  *
   54568             :  * to
   54569             :  *
   54570             :  *     CREATE VIEW relname (aliases) AS
   54571             :  *         WITH RECURSIVE relname (aliases) AS (query)
   54572             :  *         SELECT aliases FROM relname
   54573             :  *
   54574             :  * Actually, just the WITH ... part, which is then inserted into the original
   54575             :  * view definition as the query.
   54576             :  * ----------
   54577             :  */
   54578             : static Node *
   54579             : makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
   54580             : {
   54581             :     SelectStmt *s = makeNode(SelectStmt);
   54582             :     WithClause *w = makeNode(WithClause);
   54583             :     CommonTableExpr *cte = makeNode(CommonTableExpr);
   54584             :     List       *tl = NIL;
   54585             :     ListCell   *lc;
   54586             : 
   54587             :     /* create common table expression */
   54588             :     cte->ctename = relname;
   54589             :     cte->aliascolnames = aliases;
   54590             :     cte->ctematerialized = CTEMaterializeDefault;
   54591             :     cte->ctequery = query;
   54592             :     cte->location = -1;
   54593             : 
   54594             :     /* create WITH clause and attach CTE */
   54595             :     w->recursive = true;
   54596             :     w->ctes = list_make1(cte);
   54597             :     w->location = -1;
   54598             : 
   54599             :     /*
   54600             :      * create target list for the new SELECT from the alias list of the
   54601             :      * recursive view specification
   54602             :      */
   54603             :     foreach(lc, aliases)
   54604             :     {
   54605             :         ResTarget  *rt = makeNode(ResTarget);
   54606             : 
   54607             :         rt->name = NULL;
   54608             :         rt->indirection = NIL;
   54609             :         rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
   54610             :         rt->location = -1;
   54611             : 
   54612             :         tl = lappend(tl, rt);
   54613             :     }
   54614             : 
   54615             :     /*
   54616             :      * create new SELECT combining WITH clause, target list, and fake FROM
   54617             :      * clause
   54618             :      */
   54619             :     s->withClause = w;
   54620             :     s->targetList = tl;
   54621             :     s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
   54622             : 
   54623             :     return (Node *) s;
   54624             : }
   54625             : 
   54626             : /* parser_init()
   54627             :  * Initialize to parse one query string
   54628             :  */
   54629             : void
   54630             : parser_init(base_yy_extra_type *yyext)
   54631             : {
   54632             :     yyext->parsetree = NIL;      /* in case grammar forgets to set it */
   54633             : }

Generated by: LCOV version 1.16